Linux移植遇到问题记录
生活随笔
收集整理的這篇文章主要介紹了
Linux移植遇到问题记录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
報錯:invalid use of incomplete type ‘class XXX’
問題描述:定義模板類,使用前向聲明引入class XXX,類定義中使用了指針,即XXX spXXX,以上OK。但模板在頭文件中實現,實現過程中調用spXXX->Refresh()。
上述代碼出了問題:在Window VS中可以執行編譯,但移植到Linux時會報上述錯誤
解決:引入class XXX的頭文件。
報錯:changes meaning of ‘XXX’ from ‘enum A::B::XXX’
問題描述:使用類的同名的變量 GraphicGroup GraphicGroup;
上述聲明在window vs中可以編譯通過,但在Linux下會報錯。
解決: GraphicGroup gGraphicGroup
導出
window #define XXX_Export __declspec(dllexport)
linux #define XXX_Export __attribute__((visibility(“default”)))
#define中含有 換行符和注釋符
#define aaa \
std::cout<<“123”;\
//int a=1;\
std::cout<<“123”;
上述代碼Linux可以編譯,window編譯會報錯
類中聲明函數 頭文件 void A::Refresh();
window允許
class A: { public: void A::Refresh(); }Linux編譯不允許 只能
class A:{public: void Refresh();}總結
以上是生活随笔為你收集整理的Linux移植遇到问题记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL:使用FBO为渲染对象并从G
- 下一篇: Linux下多显卡选择绘制实验记录