您的位置:首页 > 其它

常见问题整理

2014-07-09 16:14 169 查看

1. <编译报错>:link_image[1964]: 15498 could not load needed library 'libmsc.so' for './ttstest' (load_library[1091]: Library 'libmsc.so' not found)CANNOT LINK EXECUTABLE

解决:libmsc.so库没有或路径没有被识别,手动放到sys/lib里,或将其路径加入LD_LIBRARY_PATH即可。

2. <运行退出>Starting E:\project\Test-build-desktop-Qt_4_8_1__4_8_1__Debug\bin\Test.exe...

The program has unexpectedly finished.

E:\project\Test-build-desktop-Qt_4_8_1__4_8_1__Debug\bin\Test.exe exited with code -1073741515

解决:是因为动态库找不到的原因。将库与执行文件放同一目录或将路径加入环境变量即可。

3、<编译报错>vs编译,error LNK2019: unresolved external symbol "__declspec(dllimport)

解决:*.lib文件没有加入依赖,点击工程->properties->Linker->Input->Additional Dependency,后面添加*.lib,并将该文件放在工程目录lib文件夹里

4、<编译错误>Error 1 error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall MainWindow::metaObject(void)const " (?metaObject@MainWindow@@UBEPBUQMetaObject@@XZ) E:\project\AudioRecording\AudioRecording\AudioRecording\mainwindow.obj AudioRecording

解决:类里需要加入Q_OBJECT

5、<运行问题>This application failed to start because it could not find or load the Qt platform plugin "windows".

解决:需要把Qt\Qt5.1.1\5.1.1\msvc2010\plugins目录下需要的platforms 拷贝到生成的exe所在的目录下即可。

6、<运行问题>QWidget: Cannot create a QWidget when no GUI is being used

解决:QCoreApplication改成QApplication,需要包含#include<QtWidgets/QApplication>再重新编译就好了。

7、<运行问题>Qt程序发布后,在其他电脑上运行不起来或运行后音频、sql等没有正常运行。

解决:Qt发布需要将必要的dll(windows)或so(linux)库加到exe目录里面或system32下,如果使用到音频、视频、数据库等要把相关的插件(plugins 目录下的相关文件夹)放进去。

8、android上运行时出现 sh: /data/inject: not executable: magic 7F45

解决:是编译器问题,不匹配。

9、 QtCreator 运行时出现qtcreator_process_stub run,运行得似乎不是你的程序而是另一个空的程序。

解决:是因为main 里面初始化的类使用错误。要保持类的构造体参数一致。

10、虚拟机中Mac OSX 不能使用电脑键盘。

解决:在虚拟机存档中找到.vmx的文件,用记事本打开,找到guestOS=“freebsd-64”,改为你系统的,如darwin-64,然后在后面增加以下内容:

ich7m.present = "TRUE"

smc.present = "FALSE"

keyboard.vusb.enable = "TRUE"

mouse.vusb.enable = "TRUE"
这样就ok了。

11、将windows的Qt项目移到Mac上编译,出现 :-1: error: symbol(s) not found for architecture x86_64

解决:到qt编译输出窗口里找到相应的函数,一般是某个函数只有声明没函数体导致的。将这个函数找到就可以了。如果是库里面的,要把库补上。


12、vs2008编译出现错误:corelibc.lib(mainwcrt.obj) : error LNK2019: unresolved external symbol main referenced in function
"void __cdecl mainCRTStartupHelper(struct HINSTANCE__ *,unsigned short const *)" ()

MCWILL_SDK (ARMV4I)\Debug/CmmbDemoApp_MCWILL.exe : fatal error LNK1120: 1 unresolved externals
解决:这里说找不到main函数,那就增加一个main函数就ok了。函数申明是 int main(int arg,char **argv);如果你的项目确实不需要main,那就应该在 属性->链接器->高级->无入口点 ,选择“是”。

13、log4cxx.dll : fatal error LNK1107: 文件无效或损坏: 无法在 0x3A8 处读取
解决:是因为

14、vs2008编译wince7 项目,发现很多错误出现在系统提供的标准头文件里
解决:把这个头文件在源文件里重新#include一次

15、<编译问题> 看起来像函数定义,但没有形参表;跳过明显的函数体
解决:这种问题一般就是字符没有被编译器识别导致的。初学者很容易把汉字字符如汉字的括号写到代码里去了导致这种错误。另外还有可能是文件的编码格式问题。把文件重新保存为合适的格式即可。

16、<编译问题>You
don't seem to have 'make' or 'gmake' in your PATH
解决:设置
export MAKE=/usr/bin/make


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: