2011-12-17 6 views
0

Windows 7에서 jom으로 컴파일하려고하는 Qt 프로젝트가 있습니다. 소스가 한 위치에 있으면 명령 줄에서 정상적으로 컴파일 할 수 있습니다. 나는 다른 위치에 자식에서 소스를 끌어와 그것을 시도하고 컴파일 할 때, 나는 다음과 같은 오류를일부 위치에서 실행할 때 Qt moc가 작동하지 않습니다.

MOC를 얻을 : 너무 많은 입력 파일이 난 그냥있어 두 경우 모두 같은 정말 이상한

지정 동일한 git 저장소에서 코드를 가져오고 한 위치에서 코드를 컴파일하고 다른 위치에서 오류가 발생합니다. 나는 nmake를 시도하고 같은 결과를 얻었다.

비교로서, 여기에 두 명령이 있습니다. 첫번째 것은 실패하고, 두 번째 것은 성공합니다.

C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DSRCDIR=\"C:/Users/Jon Morra/.hudson/jobs/Organizer/workspace/MVSComplete/SshTests/\" -DQT_DLL -DQT_NO_DEBUG -DQT_TESTLIB_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtNetwork" -I"c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtTest" -I"c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\include" -I"..\..\MVSComplete\QtSftpWrapper" -I"c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\ActiveQt" -I"release" -I"..\..\MVSComplete\SshTests" -I"." -I"c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\mkspecs\win32-msvc2008" -D_MSC_VER=1500 -DWIN32 ..\..\MVSComplete\SshTests\tst_sshteststest.cpp -o release\tst_sshteststest.moc 
C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DSRCDIR=\"C:/MVS/MVSOrganizerQt/MVSComplete/SshTests/\" -DQT_DLL -DQT_NO_DEBUG -DQT_TESTLIB_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtCore" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtNetwork" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\QtTest" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include" -I"..\..\MVSComplete\QtSftpWrapper" -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\include\ActiveQt" -I"release" -I"..\..\MVSComplete\SshTests" -I"." -I"..\..\..\..\QtSDK\Desktop\Qt\4.7.4\msvc2008\mkspecs\win32-msvc2008" -D_MSC_VER=1500 -DWIN32 ..\..\MVSComplete\SshTests\tst_sshteststest.cpp -o release\tst_sshteststest.moc 

어떤 아이디어가 진행되고 있습니까?

답변

4

"C :/Users/Jon Morra/..." QMake는 경로의 공간을 매우 잘 처리하지 못합니다. 즉, 올바르게 패스하지 못합니다. 그래서 공간이있는 경로는 어느 시점에서 하나가 아닌 두 개의 인수로 해석됩니다. 지진으로 지을 때 항상 소스 디렉토리에 공백없이 경로를 사용하는 것이 좋습니다. 예 : 그것을 행한,

c:\work\someproject 

대신

C:\Users\John Doe\work\someproject 
+0

감사로 소스를 넣어. – Jon