2013-12-22 3 views
2

나는 비트 코인과 비슷한 Doge coin 헤드리스 지갑을 만들려고하고있다. 오류를 일으키는 부스트 인 것처럼 보이지만 그것을 고치는 방법을 모른다.부스트 :: this_thread에 대한 정의되지 않은 참조 :

(우분투 12.04)

나는 "-f makefile.unix의 USE_UPNP = 만들기 -"실행 나는이 오류를 얻을 :

/bin/sh ../share/genbuild.sh obj/build.h 
g++ -O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -DUSE_IPV6 -DBOOST_SPIRIT_THREADSAFE -I/root/dogecoin/src -I/root/dogecoin/src/obj -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2 -o dogecoind obj/version.o obj/checkpoints.o obj/netbase.o obj/addrman.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/irc.o obj/keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/rpcnet.o obj/rpcrawtransaction.o obj/script.o obj/scrypt.o obj/sync.o obj/util.o obj/wallet.o obj/walletdb.o obj/noui.o -Wl,-z,relro -Wl,-z,now -Wl,-Bdynamic -l boost_system -l boost_filesystem -l boost_program_options -l boost_thread -l db_cxx -l ssl -l crypto -Wl,-Bdynamic -l z -l dl -l pthread 
obj/db.o: In function `CAddrDB::Write(CAddrMan const&)': 
/root/dogecoin/src/db.cpp:764: undefined reference to `RenameOver(boost::filesystem3::path, boost::filesystem3::path)' 
obj/init.o: In function `AppInit2()': 
/root/dogecoin/src/init.cpp:450: undefined reference to `CreatePidFile(boost::filesystem3::path const&, int)' 
obj/main.o: In function `operator/': 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
obj/main.o: In function `sleep': 
/usr/local/include/boost/thread/pthread/thread_data.hpp:249: undefined reference to `boost::this_thread::hiden::sleep_until(timespec const&)' 
obj/main.o: In function `space': 
/usr/local/include/boost/filesystem/operations.hpp:520: undefined reference to `boost::filesystem::detail::space(boost::filesystem::path const&, boost::system::error_code*)' 
obj/main.o: In function `sleep': 
/usr/local/include/boost/thread/pthread/thread_data.hpp:249: undefined reference to `boost::this_thread::hiden::sleep_until(timespec const&)' 
obj/main.o: In function `boost::thread::start_thread()': 
/usr/local/include/boost/thread/detail/thread.hpp:180: undefined reference to `boost::thread::start_thread_noexcept()' 
obj/bitcoinrpc.o: In function `sleep': 
/usr/local/include/boost/thread/pthread/thread_data.hpp:249: undefined reference to `boost::this_thread::hiden::sleep_until(timespec const&)' 
obj/bitcoinrpc.o: In function `boost::filesystem::path::has_root_directory() const': 
/usr/local/include/boost/filesystem/path.hpp:444: undefined reference to `boost::filesystem::path::root_directory() const' 
obj/bitcoinrpc.o: In function `operator/': 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
obj/bitcoinrpc.o: In function `exists': 
/usr/local/include/boost/filesystem/operations.hpp:289: undefined reference to `boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)' 
obj/bitcoinrpc.o: In function `boost::filesystem::path::has_root_directory() const': 
/usr/local/include/boost/filesystem/path.hpp:444: undefined reference to `boost::filesystem::path::root_directory() const' 
obj/bitcoinrpc.o: In function `operator/': 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
obj/bitcoinrpc.o: In function `exists': 
/usr/local/include/boost/filesystem/operations.hpp:289: undefined reference to `boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)' 
obj/bitcoinrpc.o: In function `call_once<void (*)()>': 
/usr/local/include/boost/thread/pthread/once_atomic.hpp:145: undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)' 
/usr/local/include/boost/thread/pthread/once_atomic.hpp:157: undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)' 
/usr/local/include/boost/thread/pthread/once_atomic.hpp:153: undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)' 
/usr/local/include/boost/thread/pthread/once_atomic.hpp:145: undefined reference to `boost::thread_detail::enter_once_region(boost::once_flag&)' 
/usr/local/include/boost/thread/pthread/once_atomic.hpp:157: undefined reference to `boost::thread_detail::commit_once_region(boost::once_flag&)' 
/usr/local/include/boost/thread/pthread/once_atomic.hpp:153: undefined reference to `boost::thread_detail::rollback_once_region(boost::once_flag&)' 
obj/util.o: In function `operator/': 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
obj/util.o: In function `path<char*>': 
/usr/local/include/boost/filesystem/path.hpp:139: undefined reference to `boost::filesystem::path::codecvt()' 
obj/util.o: In function `system_complete': 
/usr/local/include/boost/filesystem/operations.hpp:531: undefined reference to `boost::filesystem::detail::system_complete(boost::filesystem::path const&, boost::system::error_code*)' 
obj/util.o: In function `is_directory': 
/usr/local/include/boost/filesystem/operations.hpp:294: undefined reference to `boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)' 
obj/util.o: In function `create_directory': 
/usr/local/include/boost/filesystem/operations.hpp:405: undefined reference to `boost::filesystem::detail::create_directory(boost::filesystem::path const&, boost::system::error_code*)' 
obj/util.o: In function `GetDataDir(bool)': 
/root/dogecoin/src/util.cpp:1029: undefined reference to `boost::filesystem::path::operator/=(char const*)' 
obj/util.o: In function `operator/': 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
obj/util.o: In function `boost::filesystem::path::has_root_directory() const': 
/usr/local/include/boost/filesystem/path.hpp:444: undefined reference to `boost::filesystem::path::root_directory() const' 
obj/util.o: In function `operator/': 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
obj/util.o: In function `boost::filesystem::path::has_root_directory() const': 
/usr/local/include/boost/filesystem/path.hpp:444: undefined reference to `boost::filesystem::path::root_directory() const' 
obj/util.o: In function `operator/': 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
obj/walletdb.o: In function `sleep': 
/usr/local/include/boost/thread/pthread/thread_data.hpp:249: undefined reference to `boost::this_thread::hiden::sleep_until(timespec const&)' 
obj/walletdb.o: In function `operator/': 
/usr/local/include/boost/filesystem/path.hpp:648: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)' 
obj/walletdb.o: In function `is_directory': 
/usr/local/include/boost/filesystem/operations.hpp:294: undefined reference to `boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)' 
obj/walletdb.o: In function `copy_file': 
/usr/local/include/boost/filesystem/operations.hpp:381: undefined reference to `boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option::enum_type, boost::system::error_code*)' 
obj/walletdb.o: In function `sleep': 
/usr/local/include/boost/thread/pthread/thread_data.hpp:249: undefined reference to `boost::this_thread::hiden::sleep_until(timespec const&)' 
obj/walletdb.o: In function `operator/=<std::basic_string<char> >': 
/usr/local/include/boost/filesystem/path.hpp:302: undefined reference to `boost::filesystem::path::codecvt()' 
obj/walletdb.o: In function `boost::filesystem::path& boost::filesystem::path::append<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::codecvt<wchar_t, char, __mbstate_t> const&)': 
/usr/local/include/boost/filesystem/path.hpp:707: undefined reference to `boost::filesystem::path::m_append_separator_if_needed()' 
/usr/local/include/boost/filesystem/path.hpp:710: undefined reference to `boost::filesystem::path::m_erase_redundant_separator(unsigned long)' 
collect2: ld returned 1 exit status 
make: *** [dogecoind] Error 1 

답변

3

당신은 -lboost_thread -lboost_filesystem -lboost_system을 추가 즉, 그 부스트 라이브러리에 링크 할 필요를 링커 명령 행에 추가하십시오.

자세한 내용은 Link Your Program to a Boost Library을 참조하십시오.

+2

메이크가 이미 처리한다, 그것은 뭔가 다른 –

+0

입니다 :

나는 포함 폴더와 라이브러리 폴더 (자동 부스트 설치 수행)에 대한 심볼릭 링크를 만들어 .pro 파일에 BOOST_LIBS * = thread를 추가하면 include (../ projectincludes/boost.pri)가 추가됩니다. 여기서 boost.pri에는 경로가 있습니다. –

1

부스트 1.55.0을 사용하여 같은 문제가 발생했습니다.

내가 부스트 라이브러리에 나노를 사용 아무도 내가 아마도 헤더에 만 템플릿을 가하고, 1.55.0이 filesystem3를 제거하는 부스트를 가정하고 있지만, 단지 추측 filesystem3를

포함하는 모든 기호를 포함하지 않습니다. 나는 mongodbclient.a를 링크하고 있었고 mongo를 소스에서 다시 컴파일하고 싶지 않았습니다. (많은 설정이 필요했습니다)

부스트 1.49.0으로 이동하면 문제가 해결되었습니다. 해당 라이브러리에는 파일 시스템 3이 있습니다.

0

나는 부스트 1.62를 사용하는 것과 같은 문제가 있었다.

그러나 제 경우에는 우분투 16.04에 여러 가지 부스트 버전을 설치 했으므로 라이브러리와 include 디렉토리를 올바른 폴더로 지정하면 도움이됩니다.

/usr/include/boost -> /usr/local/boost_1_62_0/boost

/usr/local/lib/libboost_thread.so -> libboost_thread.so.1.62.0

관련 문제