Что нужно дописать в опциях компилятора?, подозреваю, что дело в них |
Здравствуйте, гость ( Вход | Регистрация )
Что нужно дописать в опциях компилятора?, подозреваю, что дело в них |
Гость_Dmitry_* |
7.7.2009, 20:30
Сообщение
#1
|
Гости |
Имеем Vista+mingw 4.4.0+Netbeans IDE
Собрал boost 1.39 Вроде ошибок bjam не выдал, решил проверить работоспособность, в качестве теста взял пример из wikipedia: Раскрывающийся текст
Указал include-директорию C:\boost\include Указал директорию для lib (опция -L) C:\boost\lib Как результат получаю: Раскрывающийся текст Цитата Running "C:\msys\1.0\bin\make.exe -f Makefile CONF=Debug" in C:\Users\Dmitry\Documents\NetBeansProjects\test_boost /bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf make[1]: Entering directory `/c/Users/Dmitry/Documents/NetBeansProjects/test_boost' /bin/make -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/test_boost.exe make[2]: Entering directory `/c/Users/Dmitry/Documents/NetBeansProjects/test_boost' mkdir -p dist/Debug/MinGW-Windows g++.exe -o dist/Debug/MinGW-Windows/test_boost -s build/Debug/MinGW-Windows/main.o -L/C/boost/lib build/Debug/MinGW-Windows/main.o: In function `main': C:\Users\Dmitry\Documents\NetBeansProjects\test_boost/main.cpp:16: undefined reference to `boost::thread::join()' C:\Users\Dmitry\Documents\NetBeansProjects\test_boost/main.cpp:18: undefined reference to `boost::thread::~thread()' C:\Users\Dmitry\Documents\NetBeansProjects\test_boost/main.cpp:18: undefined reference to `boost::thread::~thread()' build/Debug/MinGW-Windows/main.o:c:/boost/include/boost-1_39/boost/thread/win32/thread_primitives.hpp:180: undefined reference to `boost::thread_resource_error::thread_resource_error()' build/Debug/MinGW-Windows/main.o:c:/boost/include/boost-1_39/boost/thread/win32/thread_primitives.hpp:180: undefined reference to `boost::thread_resource_error::~thread_resource_error()' build/Debug/MinGW-Windows/main.o: In function `thread<void (*)()>': c:/boost/include/boost-1_39/boost/thread/detail/thread.hpp:188: undefined reference to `boost::thread::start_thread()' collect2: ld returned 1 exit status make[2]: *** [dist/Debug/MinGW-Windows/test_boost.exe] Error 1 make[2]: Leaving directory `/c/Users/Dmitry/Documents/NetBeansProjects/test_boost' make[1]: *** [.build-conf] Error 2 make[1]: Leaving directory `/c/Users/Dmitry/Documents/NetBeansProjects/test_boost' make: *** [.build-impl] Error 2 Build failed. Exit value 2. С частями boost, которые не требуют сборки, проблем нет - все работает. Что-то уже 2 неделю гуглю, но понять причину проблемы не могу |
|
|
BRE |
7.7.2009, 20:38
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Так а библиотеку boost_thread с программой линкуеш?
|
|
|
Гость_Dmitry_* |
7.7.2009, 21:11
Сообщение
#3
|
Гости |
Так а библиотеку boost_thread с программой линкуеш? Гм, если судить по выводу Netbeans, получается, что нет. Я, наивный, думал, что указать папку достаточно. Тогда следующие вопросы: 1. там их 4 файла: libboost_thread-mgw44-mt-s libboost_thread-mgw44-mt-s-1_39 libboost_thread-mgw44-mt-sd libboost_thread-mgw44-mt-sd-1_39 чем они отличаются? d, подозреваю, что это дебаг, а в чем отличия с 1_39 и без? размеры с и без 1_39 одинаковые, файлы с d больше. 2. для линковки надо просто указать компилятору (линковщику) файл *.lib или ключ какой-то требуется? |
|
|
Гость_Dmitry_* |
7.7.2009, 21:37
Сообщение
#4
|
Гости |
Указал линковщику либу, не сразу, немного пришлось попыхтеть, но заработало.
Т.е. второй вопрос снимается, а вот для чего по 2 одинаковых файла *.lib мне неясно. Сравнил их с помощью comp, они абсолютно идентичны. |
|
|
Tonal |
8.7.2009, 8:03
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
С цифарками - чтобы можно было точно указать версию боста.
mt - multi threda s - вроде бы shared. Посмотри в доке по системе сборки - это всё детально описано. |
|
|
Гость_Dmitry_* |
8.7.2009, 8:49
Сообщение
#6
|
Гости |
Спасибо всем
|
|
|
Текстовая версия | Сейчас: 22.11.2024, 21:09 |