簡體   English   中英

調用靜態庫中定義的全局函數導致鏈接器錯誤

[英]Calling Global function defined in static library causes linker error

我創建了一個簡單的靜態庫項目和一個 Win32 控制台項目來調用函數。

// static lib code
// Test.h
void abf();

// Test.cpp
void abf()
{
}

// Caller Project code
// MyTest.cpp
#include "Test.h
int main()
{
    abf();
    return 0;
}

靜態庫編譯沒有錯誤。 但是調用者項目給出了以下錯誤。

error LNK2019: unresolved external symbol "void __cdecl abf(void)" (?abf@@YAXXZ) referenced in function _main

我嘗試了一些方法,例如將函數放在 extern "C" 塊中,使用 __declspec(dllexport) 導出,但似乎沒有任何效果。

有任何想法嗎?

在 test.h 中使用 __declspec(dllexport) 導出您的符號

extern "C" __declspec(dllexport) void abf(void);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM