Как связать Intel TBB в Mac OS X с помощью GCC? - PullRequest
2 голосов
/ 14 апреля 2010

Не могу понять, как скомпилировать и связать библиотеку Intel TBB на моем Mac. Я запустил коммерческий установщик и скрипт tbbvars.sh, но не могу понять это. У меня такое ощущение, что это что-то действительно очевидное, и прошло слишком много времени с тех пор, как я делал подобные вещи.

tbb_test.cpp

#include <tbb/concurrent_queue.h>

int main() {
    tbb::concurrent_queue<int> q;
}

g++ tbb_test.cpp -I /Library/Frameworks/TBB.framework/Headers -ltbb

... не могу найти символы.

Ура!

UPDATE:

g++ tbb_test.cpp -I /Library/Frameworks/TBB.framework/Headers -L /Library/Frameworks/TBB.framework/Libraries/libtbb.dylib

работает!

Ответы [ 2 ]

3 голосов
/ 14 апреля 2010

Поскольку вы используете фреймворк вместо традиционной библиотеки, вам нужно использовать -framework, например:

g++ tbb_test.cpp -o tbb_test -framework TBB

Вместо:

g++ tbb_test.cpp -o tbb_test -I /Library/Frameworks/TBB.framework/Headers -ltbb
0 голосов
/ 21 февраля 2011

Согласно руководству по началу работы с TBB (страница 3 текущей версии), в каталоге $ INSTALL / bin есть несколько сценариев, которые устанавливают правильные переменные среды, если вы запускаете source в их (например, source bin/tbbvars.sh). После того, как вы это сделаете, вам больше не нужно указывать -I и -L в командной строке g++, что утомительно, подвержено ошибкам и, самое главное, ужасно. Но вы все равно должны использовать -ltbb: '(. Этот совет также относится к тем, кто использует другие Unix-подобные ОС, такие как Linux.

...