MathGL2.1.3+Qt4.8.5+vs2010

MathGL的預編譯包不提供Visual C++使用的庫文件,以前都是使用工具從DLL生成。最近花了幾天時間嘗試用Visual C++編譯MathGL,終於試成了。以下是用Visual C++2008編譯MathGL v2.1.3.1的步驟:


1 MathGL v2.1.3有部分代碼與Visual C++不兼容,編譯通不過。v2.1.3.1已修正。


2 使用cmake生成Visual C++項目文件,只保留double、opengl選項,這樣就不必再準備那些第三方的
庫文件(如果想編譯udav,需要保留qt選項,且qt開發庫的版本不低於4.8)。cmake生成的項目主要包括:


    mgl                    MathGL動態庫
    mgl-static         MathGL靜態庫
    mgl-qt               MathGL-Qt動態庫
    mgl-qt-static    MathGL-Qt靜態庫
    udav                  一個運行MGL腳本的程序


3 evalp.cpp結尾的註釋使用了一種未知的語言,會導致編譯錯誤,需要刪除。


4 編譯mgl。


5 編譯mgl-qt會碰到兩個鏈接錯誤,無法解析QString::toWCharArray和QString::fromWCharArray。將編
譯選項“C/C++ -> 語言 -> 將wchar_t視爲內置類型”設置爲“否” 即可消除這兩個錯誤。


6 繼續編譯mgl-qt,又會碰到一個新的鏈接錯誤,無法解析mglCanvas::text_plot。將mgl項目的編譯選
項“將wchar_t視爲內置類型”也改爲“否”,然後重新編譯mgl和mgl-qt,即可解決問題。


7 編譯udav。注意:該項目也要將編譯選項“將wchar_t視爲內置類型”設置爲“否”。


8 如果只編譯mgl,不編譯mgl-qt和udav,無需修改mgl的編譯選項。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章