Я создал свой собственный GCC и библиотеки и поместил библиотеки в /opt/gcc-4.6.2/lib
, так что библиотеки с общими названиями вроде libstdc ++
не мешают работе других частей системы. Это означает, что я должен указать путь поиска библиотеки вручную:
$> g++-4.6.2 -L/opt/gcc-4.6.2/lib input.cpp
Пытаясь собрать мой проект с помощью CMake, я не могу понять, как указать CMake искать в этой библиотеке. В документации говорится об использовании CMAKE_LIBRARY_PATH
, который я установил в строке, используемой для генерации моих файлов Makefile:
$> cmake .. -DCMAKE_CXX_COMPILER=g++-4.6.2 \
-DCMAKE_LIBRARY_PATH=/opt/gcc-4.6.2/lib
Однако это не удается при простом тесте компиляции программы:
# blah blah blah...
/usr/local/bin/g++-4.6.2
CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec
-rdynamic
/usr/bin/ld: cannot find -lstdc++
# blah blah blah...
I не могу найти магию вуду, необходимую для того, чтобы CMake испускал -L / opt / gcc-4.6.2 / lib
для тестовой компиляции (я знаю, что CMAKE_LIBRARY_PATH
работает после проект построен). Как я могу заставить CMake использовать альтернативный путь к библиотеке для связывания тестовых исполняемых файлов?