Ошибка увеличения ссылки - PullRequest
2 голосов
/ 23 ноября 2010

Итак, я пытаюсь использовать библиотеку boost.process. Я скачал пакет из этого местоположения , скопировал включения из подкаталога boost в / usr / include / boost , написал простой код:

    namespace bp = ::boost::process;
    std::string execApp = "make";
    std::vector<std::string> args;
    args.push_back("-C ../build");

    bp::context ctx;
    ctx.stdout_behavior = bp::silence_stream();

    bp::child buildProcess = bp::launch(execApp, args, ctx);

Компилируется, но не работает на компоновщике:

CMakeFiles/DebugConsole.dir/Debug/DebugConsole.cpp.o: In function `__static_initialization_and_destruction_0':
/usr/include/boost/system/error_code.hpp:208: undefined reference to `boost::system::get_system_category()'
/usr/include/boost/system/error_code.hpp:209: undefined reference to `boost::system::get_generic_category()'
/usr/include/boost/system/error_code.hpp:214: undefined reference to `boost::system::get_generic_category()'
/usr/include/boost/system/error_code.hpp:215: undefined reference to `boost::system::get_generic_category()'
/usr/include/boost/system/error_code.hpp:216: undefined reference to `boost::system::get_system_category()'
CMakeFiles/DebugConsole.dir/Debug/DebugConsole.cpp.o: In function `boost::process::detail::file_handle::posix_remap(int)':
/usr/include/boost/process/detail/file_handle.hpp:264: undefined reference to `boost::system::get_system_category()'
/usr/include/boost/process/detail/file_handle.hpp:269: undefined reference to `boost::system::get_system_category()'
CMakeFiles/DebugConsole.dir/Debug/DebugConsole.cpp.o: In function `boost::process::detail::file_handle::posix_dup(int, int)':
/usr/include/boost/process/detail/file_handle.hpp:295: undefined reference to `boost::system::get_system_category()'
CMakeFiles/DebugConsole.dir/Debug/DebugConsole.cpp.o: In function `pipe':
/usr/include/boost/process/detail/pipe.hpp:86: undefined reference to `boost::system::get_system_category()'
CMakeFiles/DebugConsole.dir/Debug/DebugConsole.cpp.o:/usr/include/boost/process/detail/posix_ops.hpp:202: more undefined references to `boost::system::get_system_category()' follow
collect2: ld returned 1 exit status

Я связал такие библиотеки: filesystem system date_time

1 Ответ

5 голосов
/ 23 ноября 2010

Возможно, вы захотите увидеть последний ответ здесь.

У меня была очень похожая проблема, и я нашел этот пост во время поиска. я удалось решить проблему после долгих поисков, поэтому выкладываю здесь для других людей.

Мне нужно было ссылаться на нужную библиотеку следующим образом: g ++ boost_example.cpp -o запустите -lboost_filesystem-mt http://linux.overshoot.tv/ticket/127

Настоящая проблема в том, что документация надстройки отсутствует и не сказать, на какую библиотеку ссылаться. Увидеть: http://linux.overshoot.tv/ticket/129

В любом случае, для использования boost / file_system, ссылка на: -lboost_filesystem-mt.

Смотри также: http://ubuntuforums.org/showthread.php?t=244593

...