Я использую Code Blocks с MinGW и пытаюсь получить простую программу для компиляции со статическим связыванием. Я создал библиотеки Boost, используя в этих направлениях . Все работало нормально, и я смог успешно скомпилировать эту простую программу (она компилируется, я знаю, что она не работает, потому что она завершается до того, как сообщение отправлено на консоль, но я просто хочу, чтобы оно скомпилировалось).
Если у меня есть библиотека DLL в моих библиотеках компоновщика, она прекрасно компилируется, но когда я переключаю ее на статические библиотеки .a того же содержимого, я получаю неопределенные ссылки, такие как «неопределенная ссылка на` _imp ___ ZN5boost6threadD1Ev '| ».
Я понятия не имею, в чем проблема, и не могу найти решение. Я думаю, что это может быть связано с настройками компоновщика, но я не могу найти информацию о том, как их изменить. Буду очень признателен за любую помощь, которая может быть оказана.
#include <iostream>
#include <boost/thread.hpp>
void myfunction()
{
std::cout << "this is a thread" << std::endl;
return;
}
int main()
{
boost::thread mythread(&myfunction);
return 0;
}