【问题标题】:"symbol(s) not found for architecture x86_64" when trying to build using Make on Mac OS X Lion尝试在 Mac OS X Lion 上使用 Make 构建时出现“未找到架构 x86_64 的符号”
【发布时间】:2011-09-01 07:08:04
【问题描述】:

我在 Mac OS X Lion 上构建 Robocup 足球服务器 (rcssserver 15.0.1) 时遇到问题。 我认为问题在于 Boost。

以下是“make”(第二次尝试,只显示错误)命令的输出:

make  all-recursive
Making all in rcssbase
Making all in net
make[3]: Nothing to be done for `all'.
Making all in conf
make[3]: Nothing to be done for `all'.
Making all in gzip
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in src
make  all-am
/bin/sh ../libtool --tag=CXX   --mode=link g++ -W -Wall -g -O2 -L../rcssbase/conf -L../rcssbase/net -L../rcssbase/gzip -L/usr/local/lib64 -o rcssserver audio.o bodysender.o coach.o csvsaver.o dispsender.o field.o fullstatesender.o heteroplayer.o initsender.o initsendercoach.o initsenderlogger.o initsendermonitor.o initsenderonlinecoach.o initsenderplayer.o landmarkreader.o logger.o main.o monitor.o netif.o pcombuilder.o pcomparser.o player.o playerparam.o object.o referee.o remoteclient.o resultsaver.o serializer.o serializercoachstdv1.o serializercoachstdv7.o serializercoachstdv8.o serializercoachstdv13.o serializercoachstdv14.o serializercommonstdv1.o serializercommonstdv7.o serializercommonstdv8.o serializermonitor.o serializeronlinecoachstdv1.o serializeronlinecoachstdv6.o serializeronlinecoachstdv7.o serializeronlinecoachstdv8.o serializeronlinecoachstdv13.o serializeronlinecoachstdv14.o serializerplayerstdv1.o serializerplayerstdv7.o serializerplayerstdv8.o serializerplayerstdv13.o serializerplayerstdv14.o serverparam.o stadium.o stdoutsaver.o stdtimer.o synctimer.o team.o utility.o visualsendercoach.o visualsenderplayer.o weather.o xmlreader.o xpmholder.o player_command_parser.o player_command_tok.o -lrcssclangparser -lrcssconfparser -lrcssnet -lrcssgz   -lz -lm 
libtool: link: g++ -W -Wall -g -O2 -o .libs/rcssserver audio.o bodysender.o coach.o csvsaver.o dispsender.o field.o fullstatesender.o heteroplayer.o initsender.o initsendercoach.o initsenderlogger.o initsendermonitor.o initsenderonlinecoach.o initsenderplayer.o landmarkreader.o logger.o main.o monitor.o netif.o pcombuilder.o pcomparser.o player.o playerparam.o object.o referee.o remoteclient.o resultsaver.o serializer.o serializercoachstdv1.o serializercoachstdv7.o serializercoachstdv8.o serializercoachstdv13.o serializercoachstdv14.o serializercommonstdv1.o serializercommonstdv7.o serializercommonstdv8.o serializermonitor.o serializeronlinecoachstdv1.o serializeronlinecoachstdv6.o serializeronlinecoachstdv7.o serializeronlinecoachstdv8.o serializeronlinecoachstdv13.o serializeronlinecoachstdv14.o serializerplayerstdv1.o serializerplayerstdv7.o serializerplayerstdv8.o serializerplayerstdv13.o serializerplayerstdv14.o serverparam.o stadium.o stdoutsaver.o stdtimer.o synctimer.o team.o utility.o visualsendercoach.o visualsenderplayer.o weather.o xmlreader.o xpmholder.o player_command_parser.o player_command_tok.o -Wl,-bind_at_load  -L/Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/conf -L/Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/net -L/Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/gzip -L/usr/local/lib64 /Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/src/.libs/librcssclangparser.dylib /Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/conf/.libs/librcssconfparser.dylib /Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/net/.libs/librcssnet.dylib /Users/samirkerbage/desenv/robocup/softwares/rcssserver-15.0.1/rcssbase/gzip/.libs/librcssgz.dylib -lz -lm
ld: warning: directory not found for option '-L/usr/local/lib64'
Undefined symbols for architecture x86_64:
  "boost::system::generic_category()", referenced from:
      __static_initialization_and_destruction_0(int, int)in audio.o
      global constructors keyed to _ZN4rcss10BodySenderC2ERSoin bodysender.o
      global constructors keyed to _ZN5CoachC2ER7Stadiumin coach.o
      global constructors keyed to _ZN8CSVSaver4NAMEEin csvsaver.o
      global constructors keyed to _ZN4rcss10DispSenderC2ERSoin dispsender.o
      global constructors keyed to _ZN4rcss15FullStateSenderC2ERSoin fullstatesender.o
      global constructors keyed to _ZN4rcss21InitSenderOnlineCoach7factoryEvin initsenderonlinecoach.o
      ...
  "boost::system::system_category()", referenced from:
      __static_initialization_and_destruction_0(int, int)in audio.o
      global constructors keyed to _ZN4rcss10BodySenderC2ERSoin bodysender.o
      global constructors keyed to _ZN5CoachC2ER7Stadiumin coach.o
      global constructors keyed to _ZN8CSVSaver4NAMEEin csvsaver.o
      global constructors keyed to _ZN4rcss10DispSenderC2ERSoin dispsender.o
      global constructors keyed to _ZN4rcss15FullStateSenderC2ERSoin fullstatesender.o
      global constructors keyed to _ZN4rcss21InitSenderOnlineCoach7factoryEvin initsenderonlinecoach.o
      ...
  "boost::filesystem3::path::wchar_t_codecvt_facet()", referenced from:
      CSVSaverParam::init(rcss::conf::Builder*)      in csvsaver.o
      boost::filesystem3::path::path<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, void>::type*)in csvsaver.o
      boost::filesystem3::path::path<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, void>::type*)in logger.o
      boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in logger.o
      boost::filesystem3::path::path<char [31]>(char const (&) [31], boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<char [31]>::type>, void>::type*)in playerparam.o
      boost::filesystem3::path::path<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, void>::type*)in playerparam.o
      boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in playerparam.o
      ...
  "boost::filesystem3::path::m_append_separator_if_needed()", referenced from:
      boost::filesystem3::path& boost::filesystem3::path::append<char [14]>(char const (&) [14], std::codecvt<wchar_t, char, __mbstate_t> const&)in csvsaver.o
      boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in logger.o
      boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in playerparam.o
      boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in serverparam.o
  "boost::filesystem3::path::m_erase_redundant_separator(unsigned long)", referenced from:
      boost::filesystem3::path& boost::filesystem3::path::append<char [14]>(char const (&) [14], std::codecvt<wchar_t, char, __mbstate_t> const&)in csvsaver.o
      boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in logger.o
      boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in playerparam.o
      boost::enable_if<boost::filesystem3::path_traits::is_pathable<boost::decay<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::type>, boost::filesystem3::path&>::type boost::filesystem3::path::operator/=<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in serverparam.o
  "boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)", referenced from:
      CSVSaver::openResultsFile()      in csvsaver.o
      Logger::openKawayLog()      in logger.o
      Logger::openTextLog()      in logger.o
      Logger::openGameLog()      in logger.o
      ServerParam::init(int const&, char const* const*)in serverparam.o
  "boost::filesystem3::detail::create_directories(boost::filesystem3::path const&, boost::system::error_code*)", referenced from:
      Logger::openKawayLog()      in logger.o
      Logger::openTextLog()      in logger.o
      Logger::openGameLog()      in logger.o
      ServerParam::init(int const&, char const* const*)in serverparam.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[3]: *** [rcssserver] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

你们中的任何人有什么想法可以帮助我吗?

我刚刚迷失了一晚,试图弄清楚这一点!

谢谢!

【问题讨论】:

    标签: c++ 64-bit makefile macos


    【解决方案1】:

    您似乎未能运行 ./configure 或您的 makefile 正在对 64 位库的位置做出特定于 Linux 的假设,请特别参阅错误消息:

    ld: warning: directory not found for option '-L/usr/local/lib64'
    

    先尝试运行./configure,如果不起作用,则尝试执行 32 位构建而不是 64 位。

    【讨论】:

      猜你喜欢
      • 2012-05-30
      • 2011-12-16
      • 1970-01-01
      • 2012-04-26
      • 2017-08-21
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      相关资源
      最近更新 更多