vim中配置OpenGL

一.首先從linux環境下開始入手配置,所使用的系統是ubuntu

1.首先安裝build-essential軟件包,sudo apt-get install build-essential

linux操作系統上面開發程序,光有了gcc 是不行的,它還需要一個build-essential軟件包,作用是提供編譯程序必須軟件包的列表信息。

 也就是說編譯程序有了這個軟件包,它才知道 頭文件在哪才知道庫函數在哪,還會下載依賴的軟件包,最後才組成一個開發環境。

2.安裝 OpenGL Library,sudo apt-get install libgl1-mesa-dev
3.安裝OpenGL Utilities,sudo apt-get install libglu1-mesa-dev 
OpenGL Utilities 是一組建構於 OpenGL Library 之上的工具組,提供許多很方便的函式,使 OpenGL 更強大且更容易使用。
4.安裝OpenGL Utility Toolkit,sudo apt-get install freeglut3-de
OpenGL Utility Toolkit 是建立在 OpenGL Utilities 上面的工具箱,除了強化了 OpenGL Utilities 的不足之外,也增加了 OpenGL 對於視窗介面支援。
到此OpenGL的編譯環境就搭建好了。
5.接下來要過渡到在Vim中運行OpenGL,需要知道在terminal中怎麼運行OpenGL的程序(例如opengl_test.cpp)
gcc -o opengl_test1 opengl_test1.cpp -lGL -lGLU -lglut(後面的-lGL -lGLU -lglut是編譯過程添加的OpenGL相關庫)
-l<library>告訴gcc去連結指定 Library -o<file> 指定執行檔的輸出名字。
6.Vim的配置
"-----------------------c,c++ IDE Setting Start---------------------------
"C,C++ 按F5編譯運行
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
    exec "w"
    if &filetype == 'c'
        exec "!g++ % -o %< -lGL -lGLU -lglut"
        exec "! ./%<"
    elseif &filetype == 'cpp'
        exec "!g++ % -o %< -lGL -lGLU -lglut"
        exec "! ./%<"
    elseif &filetype == 'java' 
        exec "!javac %" 
        exec "!java %<"
    elseif &filetype == 'sh'
        :!./%
    endif
endfunc
"C,C++的調試
map <F8> :call Rungdb()<CR>
func! Rungdb()
    exec "w"
    exec "!g++ % -g -o %<"
    exec "!gdb ./%<"
endfunc
"C的編譯和運行
"map <F5> :call CompileRunGcc()<CR>
"func! CompileRunGcc()
"exec "w"
"exec "!gcc% -o %<"
"exec "! ./%<"
"endfunc
"C++的編譯和運行
"map <F6> :call CompileRunGpp()<CR>
"------------------------c,c++ IDE Setting Start--------------------------
二.在windows下配置Vim運行OpenGL

由於windows系統默認狀態下是不包含任何的編譯器,都需要用戶自己配置,visual studio,VC之類的都是用戶自己裝上去的。所以希望在windows下也能像linux下直接在ternimal中運行OpenGL程序。在此推薦MinGW,MinGW(Minimalist GNU for Windows),又稱mingw32,是將GCC編譯器和GNU Binutils移植到Win32平臺下的產物,包括一系列頭文件(Win32API)、庫和可執行文件。

GCC支持的語言大多在MinGW也受支持,其中涵蓋CC++Objective-CFortranAda

對於C語言之外的語言,MinGW使用標準的GNU運行庫,如C++使用GNU libstdc++

但是MinGW使用Windows中的C運行庫。因此用MinGW開發的程序不需要額外的第三方DLL支持就可以直接在Windows下運行,而且也不一定必須遵從GPL許可證。這同時造成了MinGW開發的程序只能使用Win32API和跨平臺的第三方庫,而缺少POSIX支持[1],大多數GNU軟件無法在不修改源代碼的情況下用MinGW編譯。

1.安裝MinGW
參考這個網址,大概意思就是下載必要的MinGW文件和一些自己需要擴展的(比如g++之類的),然後藉助7zip解壓縮到一個文件夾中(MinGW)中,然後將該文件夾的路徑配置到系統環境變量Path中。
2.將OpenGL相關文件分配給MinGW和系統
lib(glut32.lib,glut.lib)—–>你的MinGW安裝目錄lib下
glut.h—->MinGW安裝目錄\include\GL\
dll(glut.dll,glut32.dll)—–>C:\windows\system32\(系統sysem32路徑)

需要注意的一點:64bit的windows系統需要將相關的dll也分配到C:\Windows\SysWOW64
3.Vimrc配置
在ubuntu中vimrc配置中稍微改進下
"-----------------------c,c++ IDE Setting Start---------------------------
"C,C++ 按F5編譯運行
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
    exec "w"
    if &filetype == 'c'
        exec "!g++ % -o %<.exe"
        exec "!%<.exe"
    elseif &filetype == 'cpp'
        exec "!g++ % -o %<.exe -D_STDCALL_SUPPORTED -DGLUT_DISABLE_ATEXIT_HACK -lopengl32 -lglu32 -lglut32"
        exec "!%<.exe"
		"! ./
    elseif &filetype == 'java' 
        exec "!javac %" 
        exec "!java %<"
    elseif &filetype == 'sh'
        :!./%
    endif
endfunc
"C,C++的調試
map <F8> :call Rungdb()<CR>
func! Rungdb()
    exec "w"
    exec "!g++ % -g -o %<"
    exec "!gdb ./%<"
endfunc
func CompileOpenGLRun()
    exec "!gcc % -g -o %<.exe -D_STDCALL_SUPPORTED -DGLUT_DISABLE_ATEXIT_HACK -lopengl32 -lglu32 -lglut32"
endfunc
"------------------------c,c++ IDE Setting Start--------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章