C++ 代码块、MinGW、Boost和静态链接问题

C++ 代码块、MinGW、Boost和静态链接问题,c++,boost,static,mingw,codeblocks,C++,Boost,Static,Mingw,Codeblocks,我将代码块与MinGW一起使用,并试图获得一个使用静态链接编译的简单程序。我已经使用构建了Boost库。一切都很顺利,我成功地编译了这个简单的程序(它可以编译,我知道它不工作,因为它在消息发送到控制台之前就存在了,但我只想编译它) 如果我的链接器库中有一个DLL,它可以很好地编译,但是当我将其与static.a库切换为相同内容时,我会得到未定义的引用,例如“未定义对`_imp__ZN5boost6threadD1Ev'|的引用” 我不知道问题是什么,也找不到解决办法。我认为这可能与链接器设置有关

我将代码块与MinGW一起使用,并试图获得一个使用静态链接编译的简单程序。我已经使用构建了Boost库。一切都很顺利,我成功地编译了这个简单的程序(它可以编译,我知道它不工作,因为它在消息发送到控制台之前就存在了,但我只想编译它)

如果我的链接器库中有一个DLL,它可以很好地编译,但是当我将其与static.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;

}
#包括
#包括
void myfunction()
{

std::cout这是因为在为动态链接配置头时尝试静态链接。我在中为libssh解释了这一点。在
boost/thread/detail/config.hpp
中翻找,我认为您应该
定义boost\u thread\u USE\u LIB
,或者使用
-D
标志来做同样的事情