VS2019-写opengl时Bugs合集(持续更新)
ERROR::SHADER::PROGRAM::LINKING_FAILED
Attached vertex shader is not compiled.
相對路徑返回上一級用"../../../",而不是"./././"
(VS)鏈接器是如何工作的?
https://www.bilibili.com/video/BV1df4y1v74h?from=search&seid=12761221660389034664&spm_id_from=333.337.0.0
SOIL unresolved external symbal …
用VS使用SOIL.h庫報錯解決方法:
在SOIL信息報錯的下面看到了目前所用的SOIL.h是32位的,而我的project是64位的(但是unrexolved external symbal 的報錯大多其實是鏈接器鏈接文件失敗,而不是文件的版本不兼容報錯,并且報錯的信息和文件版本不兼容報錯信息相同,詳細見下一點),所以把SOIL.h和SOIL.lib刪掉,再下載對應的64位文件SOIL.h和SOIL.lib,
再在屬性properties中修改C/C++常規中的附加包含目錄、鏈接器的常規中的附加庫目錄、鏈接器的輸入中的附加依賴項即可(注意我這里是相對路徑)
https://stackoverflow.com/questions/30145555/soil-unresolved-external-symbols
unresolved external symbal…
如果此錯誤是鏈接器鏈接失敗導致(即你只是將你要的第三方庫文件下載并且移到你的VSproject文件夾中,同時在項目文件.sln中配置了相關屬性,完成了上一點提到的三個修改操作),在生成文件(build)時報鏈接錯誤"(LINKED error) unresolved external symbal _imp_CreatDC referenced in function… "
需要找到函數"CreatDC"所在library(
https://docs.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-createdca
這種類似的頁面然后滑下去),將library填到鏈接器的輸入中的附加依賴項中
VS源文件中頭文件引用頭文件#include <GL/glew.h>等語句報錯,沒有找到相關頭文件(即你只是將你要的第三方庫文件下載并且移到你的VSproject文件夾中,還沒有在項目文件.sln中配置相關屬性):需要操作三步(上文說過)
VS中常常有報錯"LINK : warning LNK4098: 默認庫“LIBCMTD”與其他庫的使用沖突;請使用 /NODEFAULTLIB:library"等warning,其實可以放著不管,先把warning解決掉再說,但是warning可能會提示很關鍵的錯誤,比如上文提到的所用庫適應版本不兼容報錯"SOIL.lib的版本是32位的,與64位的project不兼容"
error C2664: “GLuint loadTexture(GLchar *)”: 無法將參數 1 從“const char [30]”轉換為“GLchar *”
解決方法:
改成"否"
https://blog.csdn.net/weixin_42655134/article/details/107088809?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%97%A0%E6%B3%95%E5%B0%86%E5%8F%82%E6%95%B0%201%20%E4%BB%8E%E2%80%9Cconst%20char%20%5B29%5D%E2%80%9D%E8%BD%AC%E6%8D%A2%E4%B8%BA%E2%80%9C&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-107088809.pc_search_es_clickV2&spm=1018.2226.3001.4187
缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int
網上的解決方法不能解決我的問題, 因為打開報錯的文件,發現并沒有出現文中那種將class類定義為了一個頭文件的情況,所以問題應該不是在這里
解決方法:
看看自己main函數里引用的.h頭文件在哪里(我一開始是將頭文件和第三方庫的頭文件放在了一起,所以出錯了。后面我測試了下發現不能直接將自己寫的頭文件手動移到源程序文件夾main的相同目錄下,仍會報錯,猜測是因為在項目文件.sln中并沒有記錄好你的操作所以編譯仍會出錯)
后面在解決方案資源管理器中的頭文件右鍵新建頭文件
然后命相同名字,然后把代碼復制過來即可解決問題
https://blog.csdn.net/iteye_21202/article/details/82445716?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164035902716780271566882%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164035902716780271566882&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-82445716.pc_search_es_clickV2&utm_term=%E7%BC%BA%E5%B0%91%E7%B1%BB%E5%9E%8B%E8%AF%B4%E6%98%8E%E7%AC%A6+-+%E5%81%87%E5%AE%9A%E4%B8%BA+int%E3%80%82%E6%B3%A8%E6%84%8F%3A+C%2B%2B+%E4%B8%8D%E6%94%AF%E6%8C%81%E9%BB%98%E8%AE%A4+int&spm=1018.2226.3001.4187
總結
以上是生活随笔為你收集整理的VS2019-写opengl时Bugs合集(持续更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EOJ_1102_任务调度问题
- 下一篇: ssh、私钥、密钥理解