static-linking

    3熱度

    1回答

    我需要編譯靜態鏈接到lua庫(liblua.a)並動態鏈接到dl庫(libdl.so)的模塊。 我編譯的C源文件(generic_loader.c)連接起來,延胡索庫:被證明 $ gcc -g generic_loader.c -shared -fpic -ldl -o _loader.o 沒有錯誤,因爲我可以看到鏈接庫和符號解析: $ ldd _loader.o _loader.o: l

    0熱度

    1回答

    我有一個用戶空間程序(Capstone)。我想在FreeBSD內核中使用它。我相信他們中的大多數具有相同的函數名稱,語義和參數(在FreeBSD中,內核printf也被命名爲printf)。首先我將它建成libcapstone.a庫,並將它與我的程序連接起來。由於Linux用戶空間和FreeBSD內核的包含文件不同,因此庫無法找到像sprintf,memset和vsnprintf這樣的符號。我如何

    0熱度

    2回答

    是否有 gcc a.c b.c -o b.out 和 gcc a.c -o a.o ar rcs liba.a a.o gcc b.c -la -o b.out 有何區別? 在什麼情況下我應該選擇一種嗎?

    0熱度

    1回答

    我想在Linux上使用mingw-w64爲Windows交叉編譯Qt應用程序。一切順利,直到連接階段;我收到了數百個與Qt庫有關的「未定義參考」錯誤。下面是一個示例:http://pastebin.com/b20Ede7a 這是我的.pro文件: TEMPLATE = app TARGET = myApp DEPENDPATH += . res src QT += core gui CO

    1熱度

    1回答

    我有一個C++項目與cmake構建。 add_executable(app foo.cpp bar.cpp main.cpp) 而且我想在測試項目中使用foo.cpp和bar.cpp。 我知道我可以建立一個庫,然後在這兩個項目鏈接: 像: add_library(foobar foo.cpp bar.cpp) add_executable(app main.cpp) target_lin

    1熱度

    1回答

    在我的最新項目中,我遇到了一個有關未共享庫方法的未定義引用的奇怪問題。我搜索了但所有我能找到的是C++相關(extern「C」)或者沒有真正幫助。 問題庫是my fork of libosm,它使用protobuf爲其二進制格式(.osm.pbf)中的OpenStreetMap數據生成反序列化/序列化代碼。有問題的功能是osmpbf__blob__unpack但這只是我最終使用,所以我懷疑它的一個

    0熱度

    1回答

    我正嘗試在mingw上構建nanomsg,使用mxe從ubuntu進行交叉編譯。目標主機是x86_64。我建立它很好,但它不會鏈接。我得到像 undefined reference to 'imp__nn_freemsg' 我認爲這是一個靜態庫問題。我再次使用 ./configure --enable-static --disable-shared ... 同樣的問題。鏈接libn​​an

    1熱度

    1回答

    我已經從CEF Builds網站下載了CEF 3.2272.2029。 編譯OK。 然後根據CEF Linking different runtime libraries我試圖編譯cefsimple例子libcef_static.lib(以前當然編譯它在構建指令)。 因此,我更換了Visual Studio中的輸入庫:刪除libcef.lib和libcef_dll_wrapper.lib並添加li

    -1熱度

    1回答

    我有一個C庫,它使用一個定義宏來確定它的一些代碼的邏輯。創建這個庫的兩個實例的最好方法是什麼?每個實例都有一個不同的宏值? 爲了澄清,該代碼看起來是這樣的: #if (MY_VAR == VAL1) ... do stuff #else ... do other stuff #endif

    1熱度

    1回答

    我剛剛在我的kubuntu機器上安裝了zkcm library,我無法編譯C++代碼。 我已經安裝了gmp和mpfr庫,並檢查它們是否工作;代碼 mpfr_t m1, m2, m3; mpfr_init(m1); mpfr_init(m2); mpfr_init(m3); mpfr_mul(m1, m2, m3, MPFR_RNDN); 編譯並運行。 然後我嘗試使用zkcm;我嘗試comp