linker

    -2熱度

    1回答

    的Visual Studio 2017(新鮮install-命令行版)爲錯誤: LNK2019:解析的外部符號Mhook_SetHook在函數引用wmain LNK2019:解析的外部符號Mhook_UnHook在函數引用wmain 編譯命令:CL/Y-/EHSC/DUNICODE mhook-TEST.CPP GDI32.LIB USER32.LIB 我認爲這可能與C/C++的mixup,所以我

    3熱度

    2回答

    完整的輸出是這樣的(只有一個錯誤)定義,發佈版本似乎並沒有遇到同樣的問題 SDL2.lib(SDL_stdlib.obj) : error LNK2005: __fltused already defined in LIBCMTD.lib(fltused.obj)` 我已經用/ MTd和靜態庫重新編譯了SDL2.lib,並確保它是我的系統上唯一的名稱庫。 它變得怪異,但:把浮點運算在我的程序的

    0熱度

    1回答

    我試圖啓用鏈接時代碼編譯器(LTCG)和整個程序優化(WPO)以構建大型Windows C++應用程序與Visual Studio 2017.該64位產品構建良好,但我們的32位版本的代碼步驟內存不足。 所以,我需要切換32位構建使用64位LINK.EXE如下所述:How to: Enable a 64-Bit, x64 hosted Visual C++ toolset on the comma

    1熱度

    1回答

    試想一個情況我有兩個不同的翻譯單元a.cpp #include <iostream> double bar(); template <typename T> T foobar(T t) { return t; } int main() { std::cout << "foobar called from b.cpp: " << bar() << '\n';

    0熱度

    1回答

    我已經生成了我的.C源文件的彙編列表。而在C源代碼我已經實現TLS是這樣的: char *msg = "callback"; void NTAPI tls_callback(PVOID DllHandle, DWORD dwReason, PVOID lpVd) { MessageBoxA(0,msg,msg,0); } #ifdef _WIN64 #pragma comm

    0熱度

    1回答

    我已經搜索了網頁,但查詢的回答不同。我不是Windows的專家,但我想完全理解它。 當爲Windows編譯應用程序時,需要運行庫鏈接庫(DLL),例如使用核心庫kernel32.dll或其他用戶創建的dll,應用程序是否需要知道該DLL存在於運行時間之前。 我讀過一個DLL必須伴隨一個.lib文件,它必須在編譯時鏈接,但在某處它聲明.lib文件不是必需的。 該應用程序是否只是執行,並期望它會找到一

    1熱度

    1回答

    在編寫共享庫時,通常建議隱藏所有內部符號以減少動態鏈接時間,通常使用鏈接描述文件或-fvisibility選項。 內部靜態庫 第三方靜態庫(例如,libuv) 所有: 在我的情況下,共享庫兩種類型的其他庫的鏈接使用-Wl,--whole-archive選項將它們鏈接到共享庫中,以便生成的共享庫自足並且僅鏈接到stdlib。 來自內部靜態庫的所有符號都是隱藏的,因爲它們不是公共API的一部分。 問題

    -2熱度

    1回答

    LNK2019解析的外部符號 我可以編譯我的程序,但可不運行它。這是一個Windows控制檯應用程序,它在Linker -> System -> SubSystem中設置。 #include "stdafx.h" #include <iostream> #include <queue> #include "puzzle.h" #include "state.h" #include <ve

    1熱度

    1回答

    我試圖編譯程序,它在Ubuntu上使用Boost庫和我得到的錯誤: [email protected]:~/dev$ g++ -std=c++11 -Wall -pedantic -g -O0 -DBOOST_LOG_DYN_LINK -c test.cpp [email protected]:~/dev$ g++ test.o -lboost_log -lboost_thread -lpthr

    3熱度

    2回答

    一個有趣的學術問題,我試圖解決: 在C代碼,我想在運行時動態重新綁定符號,就像Facebook's fishhook repo這重新綁定函數符號。我主要關心Mach-O可執行文件的__DATA.__la_symbol_ptr部分中引用的符號。隨着魚鉤的實現,你提供了你的新函數來替換原來的函數,一個字符串指出你想要替換的函數,還有一個全局函數指針,它可以取代原來的被替換的函數。 例如,從魚鉤回購自述