【问题标题】:How to use the TBB in Qt Creator如何在 Qt Creator 中使用 TBB
【发布时间】:2011-06-16 05:12:08
【问题描述】:

我正在尝试在 Qt Creator 中使用 TBB。我使用的是 Qt 4.7 和 TBB 3.0,下面是我在 .pro 中的设置。

INCLUDEPATH += C:\tbb30\include
LIBS += C:\tbb30\lib\ia32\vc10\*.lib

我的示例代码很简单:

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    tbb::concurrent_vector<int> v;
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    v.push_back(4);

    std::cout<<v.size();

    return a.exec();
}

但程序退出时代码为-1073741515

之前有人在 Qt Creator 中使用过 TBB 吗?

最好的问候,

【问题讨论】:

    标签: c++ qt tbb


    【解决方案1】:

    在 LIBS 中,我认为您不能使用小丑字符(*、?)。您需要使用库的实际名称。请注意,您可以指定库的搜索路径,然后是“短格式”的库名称。如果您的目标是交叉编译,它会很有用。

    这是一个链接 Open Ssl 的示例(可能对您有用)

    LIBS += -L$${OPEN_SSL}/lib
    LIBS += -llibeay32
    LIBS += -lssleay32
    

    关于您的错误代码,您使用的是什么编译器(mingwin 还是 visual?)。在任何情况下,您都可以检查生成的命令以尝试了解它出错的原因(链接器命令)。希望这会有所帮助。

    【讨论】:

    • 我觉得可以用*号,因为用在OpenCV上就可以了。顺便说一句,当我使用库的实际名称时,它仍然给了我同样的错误
    • 那么错误出现在您的链接器中:您确定您正在链接相同的架构(没有可视化 2008 与 2005,安腾与 x86,32 与 64 位)。常见问题是链接 mingwin sdk 与可视化库,它们具有不同的 ABI => 检查您的错误来自哪里(确切的链接器消息/命令)并更新您的帖子
    • 我不太明白你的意思。我从官方网站下载了 win 的二进制文件。并在 Qt Creator 中简单地完成所有工作。当我检查 lib 文件夹下的文件夹时。只有vs8 vs9和vs10版本,没有mingwin版本。
    • 我说的是你的 Qt sdk,而不是 mingwin:正如你所说,你只有 Visual Studio 的 TBB 版本,所以如果你的 Qt 是用 mingwin 编译的,或者你的 Qt 创建者被配置为使用 mingwin ,你会有问题。
    • 对不起,我的错误,我忘记将dll文件复制到正确的位置。我现在可以使用 TBB。
    猜你喜欢
    • 2016-11-15
    • 1970-01-01
    • 2012-07-27
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    相关资源
    最近更新 更多