Я пытаюсь перекрестно скомпилировать telldus-core, чтобы иметь возможность использовать Tellstick на моем NAS Synology. Я начинаю, запустив CMake с этой командой:Как правильно управлять pthread?
[email protected]:/usr/local/src/telldus-core-2.1.1/build$ cmake -DCMAKE_C_COMPILER=/usr/bin/arm-linux-gnueabi-gcc-4.7 -DCMAKE_CXX_COMPILER=/usr/bin/arm-linux-gnueabi-g++-4.7 -DCMAKE_INSTALL_PREFIX=/opt -pthread ..
Это приводит к следующему выходу:
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
Затем работает сделать результаты:
[ 98%] Building CXX object tdtool/CMakeFiles/tdtool.dir/main.cpp.o
Linking CXX executable tdtool
/usr/local/src/telldus-core-2.1.1/build/client/libtelldus-core.so: undefined reference to `pthread_create'
/usr/local/src/telldus-core-2.1.1/build/client/libtelldus-core.so: undefined reference to `pthread_join'
collect2: fel: ld returnerade avslutningsstatus 1
make[2]: *** [tdtool/tdtool] Fel 1
make[1]: *** [tdtool/CMakeFiles/tdtool.dir/all] Fel 2
make: *** [all] Fel 2
[email protected]:/usr/local/src/telldus-core-2.1.1/build$
Что я должен сделать, чтобы решить эту проблему ?
Я удалю Sudo от после. Кто-то может посмотреть на это ... – Bengt62
Ввод -pthread в качестве флагов компилятора для gcc и g ++ в CMakeLists.txt сделал трюк, спасибо! – Bengt62
Вместо этого сделан ответ. – Anders