簡體   English   中英

代碼塊,MinGW,Boost和靜態鏈接問題

[英]Code Blocks, MinGW, Boost, and static linking issues

我正在使用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;

}

這是在為動態鏈接配置​​標頭時嘗試靜態鏈接。 我在這個問題中為libssh解釋了這一點 boost/thread/detail/config.hpp進行調查讓我覺得你應該#define BOOST_THREAD_USE_LIB ,或者使用-D標志來做同樣的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM