我正在尝试编译并将英特尔的tbb链接到我的mac上的一个简单程序中,但我一直收到一个错误,说该库已正确链接。
dyld: Library not loaded: @rpath/libtbb.dylib
Referenced from:<path>/./a.out
Reason: image not found
Trace/BPT trap: 5
我使用的测试程序有以下代码
#include <iostream>
#include <cassert>
#include <tbb/concurrent_queue.h>
int main() {
auto q = tbb::concurrent_queue<int>{};
q.push(1);
auto top_value = int{};
assert(q.try_pop(top_value));
assert(top_value == 1);
assert(q.empty());
return 0;
}
这就是我构建库的方式(为方便起见,下载了库)
curl -OL https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb2017_20170118oss_src.tgz
tar -xzvf tbb2017_20170118oss_src.tgz
mv tbb2017_20170118oss tbb
rm tbb2017_20170118oss_src.tgz
cd tbb
make tbb
mv build/*_release build/tbb_release
我试图用这个命令编译程序
g+++ another.cpp -I tbb/include -L tbb/build/tbb_release -ltbb -ldl
然后在运行程序时我得到上面的错误。关于如何解决这个问题的任何想法?
我的编译器版本是clang-800.0.42.1
,我运行的操作系统是10.11.5
谢谢!