VTK編譯時出錯,無法解析的外部符號

2021-08-14 14:08:53 字數 1439 閱讀 5675

今天配置vtk,遇到了不少問題好在一一解決了,其中乙個是在編譯下面例子時出現的:

// vtk-test.cpp : 定義控制台應用程式的入口點。

//#include vtk_module_init(vtkrenderingopengl)

int main(int, char *)

出現大概以下錯誤:

error lnk2019: 無法解析的外部符號 "void __cdeclvtkrenderingopengl_autoinit_construct(void)"(?vtkrenderingopengl_autoinit_construct@@yaxxz),該符號在函式 "public: __thiscallvtkrenderingopengl_moduleinit::vtkrenderingopengl_moduleinit(void)"(??0vtkrenderingopengl_moduleinit@@qae@xz) 中被引用

error lnk2019: 無法解析的外部符號 "void __cdeclvtkrenderingopengl_autoinit_destruct(void)"(?vtkrenderingopengl_autoinit_destruct@@yaxxz),該符號在函式 "public: __thiscall vtkrenderingopengl_moduleinit::~vtkrenderingopengl_moduleinit(void)"(??1vtkrenderingopengl_moduleinit@@qae@xz) 中被引用

在貼吧看到的解決方法是:

在標頭檔案加入

#include
同時修改

vtk_module_init(vtkrenderingopengl)

vtk_module_init(vtkrenderingopengl2)
編譯後出現影象,但是有warning:

warning: in e:\new\vtk\vtk-8.1.0\rendering\core\vtkinteractorstyleswitchbase.cxx, line 43

vtkinteractorstyleswitchbase (000001e3f4cde540): warning: link to vtkinteractionstyle for default style selection.

解決辦法是加入

vtk_module_init(vtkinteractionstyle) ;  

vtk_module_init(vtkrenderingfreetype);

即可編譯成功。

無法解析的外部符號 emul出錯的解決方法

在移植 tcpmp中的common工程到wce mips au1380平台的編譯中時,vs2005報以下錯誤 1 e au1380 forvolo software design r d projects sourcecode videoplayer tcpmp common portab.h 58...

鏈結時出現無法解析的外部符號排錯

鏈結時出現 無法解析的外部符號,錯誤資訊 cpp編譯出的符號 batviewdlg.obj error lnk2001 unresolved external symbol unsigned char stdcall getpwrcapabilities struct system power ca...

無法解析的外部符號

在使用vs2008除錯程式的過程中,經常會出現無法解析的外部符號問題,可能的原因有很多種,下面這些是我一年來積累的經驗.僅供參考.考慮可能的原因 0 出現無法解析可能是因為lib檔案不正確,比如64位的編譯配置,結果使用的是32位的lib包.1 只寫了類宣告,但還沒有寫實現類,造成呼叫時無法解析 2...