作為一個JNI新手,今天在第一次生成dll文件時發現了一個奇怪的問題,就是出現了如下所示的錯誤:
MSVCRTD.lib(exe_main.obj) : error LNK2019: 無法解析的外部符號 main,該符號在函數 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用
在度娘經過多方查找,有人前輩給出的方案是去更改系統鏈接器中的 子系統 選項改為(/SUBSYSTEM:WINDOWS) 或者 (/SUBSYSTEM:CONSOLE) ,重新生成dll時系統提示 無法解析外部符號Win_main16, 發現好像度娘上沒人出過我這樣的問題,后來仔細查找問題,發現是因為我在 常規 ----> 項目默認值 的選項是 “應用程序exe” 而不是 “動態庫dll”,將其更改為 “動態庫dll”后重新生成,OK!