[英]Unresolved external symbols in C++
我在VS2010下開發的C ++ Dll程序中定義了三個函數。
int __stdcall Scan()
{
...
}
int __stdcall Setup(int e_time, double s_value, double cs_value, double gain, int nIm, char* name)
{
...
}
int __stdcall TearDown()
{
....
}
我在Program.def中將它們定義為
LIBRARY
EXPORTS
Scan @1
Setup @2
TearDown @3
我也有一個頭文件Program.h
//DLL Export-Import definitions
#define BUILD_DLL
#ifdef BUILD_DLL
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif
但是我遇到了一些錯誤:
和
錯誤消息不會抱怨定義的第三個功能。 我在鏈接器中使用了/ MAP選項,並為映射文件定義了文件名,但是我沒有得到MAP文件輸出來檢查如何定義這些sysmbol。 我無法使用dumpbin程序,因為構建尚未創建dll文件。
我被困住了。 任何幫助/指針將不勝感激。 謝謝。
您需要聲明C樣式的鏈接,否則C ++ 名稱修飾會使事情變得混亂。
用途,各功能
extern "C" {
/*your function here*/
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.