2016-09-22 26 views
0

Qt5、VTK、PCL、およびPDALをプロジェクトにコンパイルしています。別の奇妙なエラーを取り除くためにPCLを再ビルドするまではビルドプロセスがうまく機能していました。 私は最近、root権限で新しいXCodeライセンスに同意しましたが、これも問題の可能性があります。正確なエラーは以下のとおりです:Cmake Strange Error:構文エラー予期しないトークン( '

/bin/sh: -c: line 0: syntax error near unexpected token `(' 
/bin/sh: -c: line 0: `/usr/bin/g++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/Users/wfehrnstrom/build-CmakeTest-MainKit-Release -I/Users/wfehrnstrom/CmakeTest -I/usr/local/include/vtk-7.0 -isystem /usr/local/include -iframework /Users/wfehrnstrom/Qt5/5.7/clang_64/lib -isystem /Users/wfehrnstrom/Qt5/5.7/clang_64/lib/QtWidgets.framework/Headers -isystem /Users/wfehrnstrom/Qt5/5.7/clang_64/lib/QtGui.framework/Headers -isystem /System/Library/Frameworks/OpenGL.framework/Headers -isystem /Users/wfehrnstrom/Qt5/5.7/clang_64/lib/QtCore.framework/Headers -isystem /Users/wfehrnstrom/Qt5/5.7/clang_64/./mkspecs/macx-clang -ferror-limit=0 -O3 -DNDEBUG vtkDomainsChemistry_AUTOINIT=1(vtkDomainsChemistryOpenGL2) vtkRenderingContext2D_AUTOINIT=1(vtkRenderingContextOpenGL2) vtkRenderingCore_AUTOINIT=3(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingOpenGL2) vtkRenderingVolume_AUTOINIT=1(vtkRenderingVolumeOpenGL2) -fPIC -std=gnu++11 -o CMakeFiles/CmakeTest.dir/main.cpp.o -c  /Users/wfehrnstrom/CmakeTest/main.cpp' 
make[2]: *** [CMakeFiles/CmakeTest.dir/main.cpp.o] Error 2 
make[1]: *** [CMakeFiles/CmakeTest.dir/all] Error 2 
make: *** [all] Error 2 

私はVTKとPCLを再構築した後に、一見どこからともなく、この奇妙なエラーを取得しています、なぜ誰でも知っていますか?ありがとうございます!

+0

は、私は今、そのfind_package(VTK 7.0.0 REQUIRED)私のプロジェクトのためにエラーが発生しCMakeLists.txtの行があると判断しました。 – user3833261

+0

プロジェクトのmakefileがうまく生成されているので、これはリンク時のエラーではなく、コンパイル時のエラーでもあるようです。 – user3833261

+0

質問:スタックのオーバーフローについての質問の更新は、エラーメッセージに関しては、 'vtkDomainsChemistry_AUTOINIT = 1(vtkDomainsChemistryOpenGL2)'のようなコンパイラ定義によって引き起こされます。値のほかに、 '()'が含まれています(これはシェルでエラーが発生します)、真のコンパイラ定義ではありません。 '-D'オプションでは起動しません。おそらく、そのような定義の原点であるVTKには間違いがあります。 – Tsyvarev

答えて

1

OS XのQT5にPCLをプルするときも全く同じ問題がありました。

PCL 1.8をソースからコンパイルすると問題が解決しました(PCL 1.6から移行)。

CMakeLists.txt:アップデートとして

project(LRS_PCL) 
set(CMAKE_C_COMPILER "/usr/bin/gcc") 
set(CMAKE_CXX_COMPILER "/usr/bin/g++") 
cmake_minimum_required(VERSION 2.8) 

set(SOURCE_DIR .) 
set(SOURCE 
    ${SOURCE} 
    ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp 
    PARENT_SCOPE 
) 
aux_source_directory(. SRC_LIST) 
add_executable(${PROJECT_NAME} ${SRC_LIST}) 
set(CMAKE_PREFIX_PATH $ENV{HOME}/Qt/5.5/gcc_64) 

find_package(PCL 1.8 REQUIRED) 
find_package(Qt5 REQUIRED COMPONENTS Widgets Core) 

include(CheckCXXCompilerFlag) 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 

include_directories(${PCL_INCLUDE_DIRS} /user/local/include) 
link_directories(${PCL_LIBRARY_DIRS} /usr/local/lib /usr/lib/x86_64-linux-gnu) 
add_definitions(${PCL_DEFINITIONS}) 

target_link_libraries(LRS_PCL ${PCL_LIBRARIES} /usr/local/lib/librealsense.so) 
関連する問題