這是一個類似的問題this one。無法找到入口點(CPP)
我想從C++導出一個簡單的函數,由C#通過PInvoke調用。這是我的函數的定義:
int fnValue()
{
return 42;
}
這是.h
文件中導出定義:
__declspec(dllexport) int fnValue();
這是我的PInvoke功能:
[DllImport("WhatDll.dll")]
public static extern int fnValue();
簡單,對不對?但我有一個
System.EntryPointNotFoundException: 無法找到fnValue條目 '命名 點 '' 在DLL「WhatDll.dll'
我使用DUMPBIN檢查裏面有什麼WhatDll
,和這就是我:
00000000特性4CFB5C95 時間日期戳孫十二月11 17時34分13秒 0.00版 1開始的序號基 4數量的功能 4號名稱
序提示RVA名稱
1 2 00011014 [email protected]@YAHXZ = @ILT+15([email protected]@YAHXZ)
注意這裏是函數名fnValue
後面的一些亂碼。
這很令人費解。任何想法?
@謝謝,爲什麼我需要`extern「C」`前面的任何理由? – Graviton 2010-12-05 10:40:08