我試圖建立提升和生成DLL的,但我所做的任何事情都沒有解決問題。Building Boost動態鏈接提供鏈接錯誤?
這裏什麼我有:
創建庫bin.v2 \庫\螺紋\建立\ MSVC-11.0 \ DBG \美國存託憑證MDL-32 \異步excpt上\ THRD-MLT \ boost_thread-vc110-mt-gd-1_53.lib和object bin.v2 \ libs \ thread \ build \ msvc-11.0 \ dbg \ adrs-mdl-32 \ async-excpt-on \ thrd-mlt \ boost_thread-vc110-mt -gd-1_53.exp thread.obj:錯誤LNK2019:無法解析的外部符號「__declspec(dllimport)public:__thiscall boost :: gregorian :: greg_month :: greg_month(unsigned short)」(_ imp ?? 0greg_month @ gregorian @ 0 @ @ @ QAE @ G @ Z)在函數「public:__thiscall boost :: gregorian :: date :: date(enum boost :: date_time :: special_values)」中引用(?? 0date @ gregorian @ boost @@ QAE @ W4special_values @ date_time @ 2 @@ Z) thread.obj:error LNK2019:無法解析的外部符號「__declspec(dllimport)public:__thiscall boost :: gregorian :: greg_month :: operator unsigned short(void)const」(_ imp ?? Bgreg_month @ gregorian @ boost @@ QBEGXZ)在函數__catch中引用$?make_external_thread_data @?A0x9b8c45f0 @ boost @@ YAXXZ $ 0 bin.v2 \ libs \ thread \ build \ msvc-11.0 \ dbg \ adrs-mdl- 32 \異步-excpt上\ THRD-MLT \ boost_thread-vc110-MT-GD-1_53.dll:致命錯誤LNK1120:2周解析的外部
這裏關於設置的一些信息:
OS: W7 x64
命令來構建:
B2 -j%NUMBER_OF_PROCESSORS%--abbreviate路徑工具集= MSVC-11.0定義= _SECURE_SCL = 0定義= _CRT_SECURE_NO_DEPRECATE限定= _CRT_SECURE_NO_WARNINGS --without-MPI地址模型= 32變異=調試安裝鏈接=共享運行時鏈接=共享線程=多非同步的例外=在異常處理=上的extern-C-拋出異常= OFF前綴= .. \提振 CD ..
我已將CYGWin安裝到計算機上。
在這裏,我已經嘗試到現在;
*我試圖建立它在32位命令窗口(我用詹金斯打造提升)
*我在升壓配置寫的#define BOOST_ALL_DYN_LINK/user.hpp
*我在boost config/user.hpp中寫了#define BOOST_ALL_NO_LIB
有沒有人遇到過這樣的問題?我在任何地方都找不到任何東西?
編輯:
有一個關於我的問題的更新。我能夠構建它用於發佈。只有我改變的東西在這裏:
b2 -j%NUMBER_OF_PROCESSORS%--abbreviate-paths toolset = msvc-11。0 define = _SECURE_SCL = 0 define = _CRT_SECURE_NO_DEPRECATE define = _CRT_SECURE_NO_WARNINGS --without-mpi address-model = 32 variant = release安裝鏈接=共享運行時鏈接=共享線程=多asynch-exceptions = on exception-handling = on extern -c-nothrow = off --prefix = .. \ boost cd ..
可能是什麼問題?我該如何解決它?
先感謝您的任何建議。
您可以BOOST_NO_USER_CONFIG抑制user.hpp:https://groups.google.com/forum/#!topic/boost-list/OSkv0cKjpVM –
@thomas謝謝你的評論。其實我認爲我需要#define BOOST_ALL_DYN_LINK定義,所以我將它添加到user.hpp作爲我的配置。這樣我定義了BOOST_ALL_DYN_LINK,如果你閱讀上面的評論,似乎有必要。默認情況下,我認爲user.hpp不被抑制,對吧? – MeM
您是否嘗試將'#define BOOST_ALL_DYN_LINK'直接放入date_time/compiler_config.hpp?這可能是一個壞主意,但BOOST_DATE_TIME_DECL似乎在那裏定義。 –