我想在Windows上將libmono編譯爲靜態庫。將mono編譯爲靜態庫
目標平臺是Windows x86。構建環境:Windows 7 64位,VC++ Express 2010
我已經做了什麼。
1)已下載單聲道2.10.8聲源。
2)從msvc文件夾打開mono.sln,並確保一切都在compilling。
3)然後我做了一些改變:
3.1)常規 - >項目Defaults->配置類型:靜態庫(.LIB)
3.2)常規 - >項目Defaults-> MFC的使用:使用標準Windows庫
3.3)C/C++ - >代碼發生 - >運行時庫:多線程(/ MT)
4)內置它和VC++ 2010成功創建單2.0.lib
5)添加在它的連接器的輸入我自己的項目(我想嵌入單聲道):
5.1)常規 - >項目默認值 - >配置類型:應用程序(.exe)
5.2)常規 - >項目默認值 - >使用MFC:使用M FC在Ststic圖書館
5.3)C/C++ - >代碼發生 - >運行時庫:多線程(/ MT)
看來近乎完美的,但有一些可怕的問題需要解決:Mysterious behavior of Dictionary<TKey, TSource>
是一切正確? 我應該指定任何其他編譯器選項或預處理器指令嗎?
PS: libmono命令行是:
/I"..\libgc\include 「/ I」 .. \ 「/ I」 .. \單\ 「/ I」 .. \ mono \ jit「 /I"..\mono\eglib\src」/I"....\mono\eglib\src「/I"..\eglib\src」/ Zi /nologo/W1/WX-/O1/Ob1/Oi/Oy-/D「NDEBUG」/ D「i386」/ D 「TARGET_X86」/ D「i386」/ D「WIN32」/ D「_WIN32」/ D「WIN32 「/ D 」_WINDOWS「/ D」WINDOWS「/ D」HOST_WIN32「/ D」TARGET_WIN32「/ D 」_CRT_SECURE_NO_DE PRECATE「/ D」GC_NOT_DLL「/ D」HAVE_CONFIG_H「/ D 」WINVER = 0x0500「/ D」_WIN32_WINNT = 0x0500「/ D」_WIN32_IE = 0x0501「/ D 」WIN32_THREADS「/ D」FD_SETSIZE = 1024「/ D」 default_codegen/MONO_ASSEMBLIES = 0/D「_UNICODE」/ D「UNICODE」/ GF/「。\ Release/libmono.pch」/「Win32 \ obj \ libmono \」/ Fo「Win32 \ obj \ libmono \」 /Fd「Win32 \ obj \ libmono \ -/errorReport:隊列
UPD:
我發現這個與我的問題有關的討論http://mono.1490590.n4.nabble.com/Mono-static-library-td3546774.html
這是真的嗎? 我可以使用SGen而不是Boehm嗎?如果是的話,任何提示非常感謝。 如果是,我可以使用單聲道作爲使用sgen的靜態庫嗎?
這是一個奇怪的問題,考慮到你以前的問題顯示了你是如何通過運行單聲道靜態鏈接來拍攝你的腳的。 http://stackoverflow.com/questions/10717406/mysterious-behavior-of-dictionarytkey-tsource –