static-linking

    0熱度

    2回答

    我正在構建一個由兩個.net可執行文件組成的項目,以及兩個可執行文件共享的具有通用組件的類庫。爲了便於分發,我希望能夠分發兩個可執行文件而無需分發dll(抓取&運行分發版)。 有什麼辦法可以讓Visual Studio將dll的內容編譯到每個可執行文件中,而無需手動將類複製到每個項目中(從而在多個位置複製代碼)?

    6熱度

    3回答

    我有C程序,我在Windows上用mingw進行編譯。它工作正常,但需要MSVCRT.DLL。我想鏈接靜態(就像我可以在Visual Studio中做的那樣)。這可能嗎? 我試過-static標誌到gcc,它沒有做任何改變。 對於使用標準C++庫的C++程序怎麼樣?

    6熱度

    2回答

    如何編譯一個(Haskell)程序以便它不需要DLL? 我寫了一個使用GLUT的程序,需要glut32.dll。我用ghc --make program.hs編譯它。現在我想分發我的程序,但我不希望它需要任何DLL(所以我可以給用戶提供.exe)。我嘗試編譯與ghc -static --make program.hs,但它沒有工作,我仍然得到「用戶錯誤(未知的GLUT條目glutInit)」。 我

    0熱度

    1回答

    我創建了一個使用內核級函數(如vfs_read,write等)的內核模塊。該模塊具有生成該模塊以獲取.ko文件的生成文件。我想分析這個.ko文件的objdump輸出。但是我觀察到,在.ko文件中沒有解析諸如vfs_read和write之類的內核函數。他們只是被稱爲,我的猜測是,他們在運行時解決。 是否可以對makefile進行一些更改,並將這些函數靜態鏈接到單個.ko文件中,僅用於分析目的。 我嘗

    0熱度

    1回答

    我在編譯boost和mongodb。 我想64位版本,共享庫和動態鏈接到運行時。 Boost編譯時使用link=shared, runtime-link=shared, threading=multi(和其他一些)。 lib和dll文件的名稱如下:boost _ * - vc90-mt-1_41.dll 現在mongodb具有默認設置:/ MT(多線程靜態)。連接器需要libboost_*-vc9

    0熱度

    1回答

    我正在建立一個需要動態鏈接到我的項目的庫。輸出是一個.so文件,所以我認爲我在正確的軌道上。我對它在編譯時被鏈接的方式感到擔憂 - 通過指定它的makefile的位置以及取決於一堆我以前從未遇到過的宏。 我可以假設,因爲我建立一個.so庫(而不是.a),我實際上是動態鏈接的嗎?或者有可能.so庫是靜態鏈接的,在這種情況下,我需要翻譯make/config文件以更好地理解發生了什麼? 感謝, 安德魯

    0熱度

    1回答

    我試圖根據TclPro User's Guide第7章中的說明創建一個TclPro自定義TCL解釋器,但鏈接錯誤undefined reference to __ctype_b失敗。 我已經下載並安裝/opt/ajuba/TclPro1.4/ 1.4 TclPro,這裏是自定義的解釋我想建立: // file simple.cpp #include <proWrap.h> int main(i

    1熱度

    4回答

    我有一個接口,我希望能夠靜態鏈接模塊。例如,我希望能夠調用稱爲FOO的所有函數(儘管在單獨的文件中)或匹配某個原型,最終在文件中調用一個函數,而不在其他文件中創建頭文件。不要說這是不可能的,因爲我發現了一個黑客可以做到這一點,但我想要一個非黑客入侵的方法。 (黑客使用nm來獲取函數和原型,然後我可以動態調用函數)。另外,我知道你可以用動態鏈接來做到這一點,但是,我想靜態鏈接這些文件。有任何想法嗎?

    0熱度

    1回答

    我有一個奇怪的鏈接錯誤。我遵循here提供的說明來避免這種問題,但我無法弄清楚如何拆分頭文件和實現文件。 這是我的測試文件: #include <cargo.h> #include <iostream> #include <string> using namespace std; using namespace dom; int main() { dom::cargo<s

    2熱度

    1回答

    希望這是一個簡單的問題: 我正在用Qt構建一個應用程序,並希望使用Google的協議緩衝區。我已經下載並安裝了protobuf源代碼,現在我想在我的項目中鏈接它。 我的.pro文件包含行: LIBS += -L/usr/local/lib -libprotobuf 但是,我得到的錯誤: :: error: library not found for -llibprotobuf 在編譯的時候