Using CMake instead of clang ++
I am trying to get CMake and Clang to work with my program. I have set environment variables CC
and CXX
as such:
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
But when I run cmake .
and make
, I get a linker error because it is using /usr/bin/clang
and not /usr/bin/clang++
and therefore cannot see the C ++ standard library. After running make VERBOSE=1
this is what I get:
/usr/bin/clang -std=c++11 -Wall -O3 CMakeFiles/Saruman.dir/Board.cpp.o
CMakeFiles/Saruman.dir/CaptureList.cpp.o CMakeFiles/Saruman.dir/Evaluation.cpp.o
CMakeFiles/Saruman.dir/main.cpp.o CMakeFiles/Saruman.dir/MoveList.cpp.o
CMakeFiles/Saruman.dir/Search.cpp.o CMakeFiles/Saruman.dir/TranspositionTables.cpp.o
CMakeFiles/Saruman.dir/UCI.cpp.o -o Saruman -rdynamic -lpthread
CMakeFiles/Saruman.dir/Board.cpp.o: In function Board::Board(std::string)':
/home/terry/code/chess/engine/Source/Board.cpp:(.text+0x100): undefined reference to
`std::string::compare(char const*) const'
And explicitly call /usr/bin/clang
instead /usr/bin/clang++
. When I run manually
clang++ -std=c++11 -Wall -O3 ...
it compiles fine.
Any help would be greatly appreciated.
source to share