1. 程式人生 > >VS明明定義了函式卻編譯出錯:error LNK2019: 無法解析的外部符號

VS明明定義了函式卻編譯出錯:error LNK2019: 無法解析的外部符號

1>LINK : 沒有找到 E:\VS2008\ASM_C_test\Debug\ASM_C_test.exe 或上一個增量連結沒有生成它;正在執行完全連結
1>ASM_C_test.obj : error LNK2019: 無法解析的外部符號 "void __cdecl DSPF_sp_fftSPxSP(int,float *,float *,float *,unsigned char *,int,int,int)" ([email protected]@[email protected]),該符號在函式 _wmain 中被引用

1>E:\VS2008\ASM_C_test\Debug\ASM_C_test.exe : fatal error LNK1120: 1 個無法解析的外部命令

明明定義了函式和宣告卻提示說error LNK2019: 無法解析的外部符號

因為你的檔案是c檔案,而工程是是c++的工程,你要在宣告中用extern c來修飾

或者把定義的c檔案改成cpp格式

#ifdef   __cplusplus
extern   "C"   {
#endif
	
	void DSPF_sp_fftSPxSP_cn(int N, float *ptr_x, float *ptr_w, float *ptr_y,
		unsigned char *brev, int n_min, int offset, int n_max);

#ifdef   __cplusplus
}
#endif


相關推薦

VS明明定義函式編譯出錯error LNK2019: 無法解析外部符號

1>LINK : 沒有找到 E:\VS2008\ASM_C_test\Debug\ASM_C_test.exe 或上一個增量連結沒有生成它;正在執行完全連結 1>ASM_C_test.obj : error LNK2019: 無法解析的外部符號 "void __

編譯caffe 遇到error LNK2019: 無法解析外部符號
VS常見錯誤之一error LNK2019: 無法解析外部符號

轉自:http://www.cnblogs.com/yangcs/p/5087490.html   由於經常使用VS的開發環境,所以經常遇到一些錯誤提示,其中error LNK2019是很常見的一個報錯。今天將此錯誤的原因和常見解決辦法根據自己的經驗小小總結一下。  

VS中新增lib檔案,編譯出錯LINK : fatal error LNK1104: 無法開啟檔案×××.lib解決辦法

新增庫檔案: 在VS中右擊專案點屬性:   新增標頭檔案目錄:   配置屬性-->C/C++-->常規-->附加包含目錄 加上標頭檔案存放的目錄。   新增lib檔案:   配置屬性-->連結器-->輸入-->附加依賴項加入庫名(×××.

同包不同檔案,繼承介面,編譯出錯java錯誤找不到符號

在同一個包中分不同的.java檔案進行繼承實驗時,出現編譯錯誤:java錯誤找不到符號 程式如下: ①Test.java package test; class Test  {public static void main(String[] args) {Person p

IAR編譯出錯Error[Pe165]: too few arguments in function call

先找出具體出現的檔案,然後把函式逐個註釋掉,編譯,找出相應出錯的函式。該錯誤是由於呼叫的引數少了導致的,即使某些引數在都中情況下無效,但也要加上去。例如gpio_init (PORTx portx, u8 n, GPIO_CFG cfg, u8 data),在呼叫時,當設定

ARToolKit編譯error LNK2019: 無法解析外部符號 ___glutInitWithExit@12,該符號函式 _glutInit_ATEXIT_HACK@8 中被引用 解決辦法

1錯誤: 在批量編譯ARToolKit的時候,老是遇到報以下兩個錯誤: 2解決辦法: 在專案工程屬性–》C/C++ –》前處理器 –》前處理器定義 中新增 GLUT_BUILDING_LIB 3原因: OpenGL沒有配置好

error LNK2019-無法解析外部符號 _main-該符號函式 ___tmainCRTStartup 中被引用

問題分析: 因為Win32 console Application的入口函式是Main(),而Win32 Application的入口函式才是WinMain() 解決方案: 右鍵專案,開啟【屬性】頁,【配置屬性】——【連結器】——【系統】中的【子系統】改為【視窗 (/SUBSYSTEM:WINDOWS)

windows下QT配置pthread,解決main.obj:-1: error: LNK2019: 無法解析外部符號 __imp_pthread_create,該符號函式 main 中被引用

QT中使用msvc2017_64編譯時,本來不支援pthread。但是又想用pthread來寫程式,就在網上各種查詢辦法,不過好像都不太可以,會報錯: main.obj:-1: error: LNK20

MSVCRTD.lib(crtexe.obj) : error LNK2019: 無法解析外部符號 _main,該符號函式 ___tmainCRTStart

在程式設計時經常遇到“無法解析的外部符號 _main,該符號在函式 ___tmainCRTStartup 中被引用”這樣的錯誤,最近看了一些這方面的書籍,現將解決方案大概敘述一下: 連線程式在負責連線可執行程式時,選擇相應的c/c++執行時啟動函式。如果設定了/subsys

error LNK2019: 無法解析外部符號符號函式 中被引用

#include "cocos2d.h" class GameLayer : public cocos2d::CCLayer { public: GameLayer(); ~GameLayer(); virtual bool init(); CREATE_

【cuda編譯error LNK2019: 無法解析外部符號

vs不認cu檔案,導致無法編譯裡面定義的函式 這是因為建立專案時在配置好cuda環境前添加了cu檔案,此時編譯器不認這些cu檔案。 解決辦法:把所以cu檔案從專案中刪除,配置好專案的cuda環境,再

Vs 中出現 error LNK2019: 無法解析外部符號的解決參考

    今天編輯動態庫連結生成靜態檔案,但是呼叫dll封裝的類的幾個函式後出現如下錯誤: 錯誤: 1>正在連結... 1>   正在建立庫 ..\ssnmate\Debug\QQDLL.lib 和物件 ..\ssnmate\Debug\QQDLL.exp 1&g

C++的error LNK2019: 無法解析外部符號編譯錯誤

1>Proxy.obj : error LNK2019: 無法解析的外部符號 [email protected],該符號在函式 "public: enum ProxyStatus __thiscall CProxy::ConnectProxyServer(u

QT、VS常見bug及解決辦法(四)——錯誤    1    error LNK2019: 無法解析外部符號

問題1:無法解析的外部符號 "void __cdecl cv::fastFree(void *)" 錯誤 1 error LNK2019: 無法解析的外部符號 "void __cdecl cv::fastFree(void *)" ([email protecte

error LNK2019: 無法解析外部符號 _main,該符號函式 ___tmainCRTStartup 中被引用

#include <Windows.h> HINSTANCE hinst;//例項控制代碼太重要了,要用一個全域性變數將其儲存起來 HWND hwnd; LRESULT CALLBACK MainWndProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM

VS2008 error LNK2019: 無法解析外部符號 __imp___vsnprintf,該符號函式
VS除錯報錯 “error LNK2019: 無法解析外部符號 ......”

生成解決方案的時候,報錯“error LNK2019: 無法解析的外部符號。。。。” 一般來說,這是由於缺少相應的依賴庫.lib檔案造成的,解決方法就是到【屬性管理器】——【通用屬性】——【連結器】——【附加依賴項】裡新增相應的.lib檔名稱。 如果不知道要新增什麼.li

OpenCv在win下靜態庫的編譯和使用,以及部分無法解析外部符號的錯誤解決

這裡演示的是opencv3.4版本的編譯和使用過程。1、靜態庫編譯CMake進行配置,編譯時我選擇build目錄為build-static。其中需要設定選擇安裝目錄,設定   “CMAKE_INSTALL_PREFIX”  為   /build-static/install