Qt5应用程序在Linux和Windows上编译,但在Mac OS X上给出了神秘的错误

时间:2014-06-24 11:32:07

标签: macos qt qt5

我在一个小型的开源pc计时器项目上工作。我想让我的客户在OS X上工作,但我甚至可以让它推出!我用qtcreator安装了xcode和qt5 sdk。当我编译时,我得到以下警告,但二进制编译:

/Users/kylehall/Documents/Libki/main.cpp:25: In file included from ../Libki/main.cpp:25:

/Users/kylehall/Documents/Libki/timerwindow.h:20: warning: 'TIMERWINDOW_H' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
#ifndef TIMERWINDOW_H
        ^~~~~~~~~~~~~

/Users/kylehall/Documents/Libki/timerwindow.h:21: 'LOGINWINDOW_H' is defined here; did you mean 'TIMERWINDOW_H'?
#define LOGINWINDOW_H
        ^~~~~~~~~~~~~
        TIMERWINDOW_H

/Users/kylehall/Documents/Libki/timerwindow.cpp:21: In file included from ../Libki/timerwindow.cpp:21:

/Users/kylehall/Documents/Libki/timerwindow.h:20: warning: 'TIMERWINDOW_H' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
#ifndef TIMERWINDOW_H
        ^~~~~~~~~~~~~

/Users/kylehall/Documents/Libki/timerwindow.h:21: 'LOGINWINDOW_H' is defined here; did you mean 'TIMERWINDOW_H'?
#define LOGINWINDOW_H
        ^~~~~~~~~~~~~
        TIMERWINDOW_H

/Users/kylehall/Documents/build-Libki-Desktop_Qt_5_2_1_clang_64bit-Debug/moc_timerwindow.cpp:9: In file included from moc_timerwindow.cpp:9:

/Users/kylehall/Documents/Libki/timerwindow.h:20: warning: 'TIMERWINDOW_H' is used as a header guard here, followed by #define of a different macro [-Wheader-guard]
#ifndef TIMERWINDOW_H
        ^~~~~~~~~~~~~

/Users/kylehall/Documents/Libki/timerwindow.h:21: 'LOGINWINDOW_H' is defined here; did you mean 'TIMERWINDOW_H'?
#define LOGINWINDOW_H
        ^~~~~~~~~~~~~
        TIMERWINDOW_H

当我尝试运行二进制文件时,我收到以下错误:

dyld: Library not loaded: /work/build/______________________________PADDING______________________________/lib/QtPositioning.framework/Versions/5/QtPositioning
  Referenced from: /Users/kylehall/Documents/build-Libki-Desktop_Qt_5_2_1_clang_64bit-Debug/libkiclient.app/Contents/MacOS/libkiclient
  Reason: image not found
Debugging has finished

此时我甚至不知道从哪里开始这样一个神秘的错误。任何建议都会很棒!您可以抓取代码并尝试从https://bitbucket.org/libki-kms/libki-client/src

自行编译

1 个答案:

答案 0 :(得分:2)

似乎很清楚:

  

警告:'TIMERWINDOW_H'在这里用作标题保护,然后是#define的另一个宏[-Wheader-guard]

所以你必须拥有:

#ifndef TIMERWINDOW_H
#define LOGINWINDOW_H

复制并粘贴错误,我会说......