linker

    0熱度

    1回答

    如果之前詢問過,請指向正確的方向。我有lib1和mod2,它們必須鏈接在一起。這個項目分散到幾個文件夾和幾個CMakeLists.txt文件。我使用的cmake命令是這樣: cmake的文件1(基DIR): # Set C/C++ compile and linking flags set(GCC_COVERAGE_COMPILE_FLAGS "-fpic -Wno-as-needed")

    1熱度

    1回答

    假設您想對可執行文件中的類執行一些單元測試,但不想將它們重構爲可以使用target_link_libraries(target library)添加該庫的lib在cmake。 你如何讓測試類訪問其他類? 1)使用其他項目的源文件構建測試項目? 另一件事 include_directories(${otherExeProjectDir}) set(SOURCE_FILES ma

    3熱度

    1回答

    我一直在閱讀關於鏈接和加載(操作系統的主題之一,不是特定於任何語言),我也遇到過這個術語「加載模塊」,而沒有任何先前的參考。從我所瞭解的使用方式來看,它似乎是編譯和鏈接後的最終產品(可能是可執行文件)。我試過谷歌,這個詞似乎與COBOL語言有關,並沒有說明它是特定於COBOL的,所以,我在這裏發佈這個信息是爲了知道你們之前是否有任何人聽說過這個,並且給我啓發了它。

    2熱度

    1回答

    目前我有我的Xamarin iOS和Xamarin Android項目的鏈接器設置設置爲'僅鏈接框架SDK'。有一天,我將跳過「鏈接全部」,但在此之前,我想知道是否有方法讓鏈接器除鏈接框架SDK之外鏈接單個項目或程序集。 我知道有辦法排除程序集,但我可以做相反的事嗎?

    0熱度

    1回答

    我試圖用這個代碼來調用Python代碼在C: #include <stdio.h> #include <Python.h> int main() { PyObject* pInt; Py_Initialize(); PyRun_SimpleString("print('This is Python in C')"); Py_Finalize()

    -1熱度

    2回答

    基本上我的概率是這樣的: 我有一個頭文件 - foo.h在它的結構指針human *person = NULL。結構human的定義在foo.h中包含的另一個頭中。我正在使用foo.h和其他一些頭文件和cpps創建共享對象文件game.so。 現在,我有兩個不同的CPP文件 - a.cpp和b.cpp其中包括頭foo.h. 我正在分別創建一個目標文件a.o和b.o。 我正在鏈接對象文件和game.

    2熱度

    1回答

    我有一個GCC 5.4.0連接器很奇怪的問題。我有這些文件: spline.h, utils.h/cpp, main.cpp spline.h是擬合點花鍵只有頭的實用程序類。 1)我創建一個帶有utils.cpp和CMake的: add_library(utils_lib utils.cpp) utils.h是#include荷蘭國際集團spline.h。 2)我從main.cpp創建我的二進

    2熱度

    1回答

    我正在研究如何在動態鏈接中使用GOT和PLT。我很困惑爲什麼每個動態鏈接的函數調用似乎都跳轉到PLT中的某個位置,該位置將始終跳轉到GOT中的相同位置。爲什麼不首先跳到GOT的那個位置呢?爲什麼需要另一層間接尋址? 我可能從根本上誤解了一些關於GOT和PLT,所以這裏是我的如何的PLT和GOT用於概念性理解的簡要說明。 我們有一個名爲FunctionX的函數,PLT中的一個對應位置PLT [X],

    0熱度

    1回答

    我想將我的C應用程序與我已安裝的C標準庫靜態鏈接。我想確保C++標準庫沒有鏈接。 我試過通過-nodefaultlibs,但是這也禁用了C庫。 如何禁用C++標準庫和強制C模式?

    1熱度

    1回答

    在Arch Linux,當我建立的東西,ld抱怨找不到curses庫: /usr/bin/ld: cannot find -lcurses collect2: error: ld returned 1 exit status 但我確實/usr/lib包含curses相關的庫: # ls -lt /usr/lib/libcurse* lrwxrwxrwx 1 root root 13 May