Я пытаюсь скомпилировать программу в своей системе с Debian Wheezy и g ++ 4.7. Я хочу, чтобы он мог работать в другой системе с помощью Debian Squeeze (и не был последним g ++). Я не могу скомпилировать программу на Squeeze, потому что я использую некоторые функции C++11
, которые старый g ++ не поддерживает, а также новую версию Boost и libcrypto ++ 9.Статическая ссылка на libcrypto ++, с g ++
Насколько я понимаю, обычный способ обойти эту проблему заключается в статическую ссылку библиотека не поддерживается в другой системе, в моем случае libstdc
, boost
и crypto++
.
Мой вызов (соединение) составитель прямо сейчас
g++-4.7 .obj/btcmirco.o -Wl,-Bstatic -lboost_program_options -lboost_system -lcrypto++ -Wl,-Bdynamic -lcurl -static-libgcc -std=c++11 -o MyProgram
Однако я, кажется, что-то пропустил, потому что он выбрасывает много неопределенных ссылочных ошибок. Он отлично работает, если я динамически ссылаюсь на crypto++
(и только статические ссылки libstdc
и boost
).
Может ли кто-нибудь сказать мне, что случилось, или если в моем подходе произошла фундаментальная ошибка?
Ошибка линкера я получаю (замкнут):
`.text._ZN8CryptoPP22BufferedTransformationD2Ev' referenced in section `.text._ZN8CryptoPP22BufferedTransformationD1Ev[_ZN8CryptoPP22BufferedTransformationD1Ev]' of /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libcrypto++.a(cryptlib.o): defined in discarded section `.text._ZN8CryptoPP22BufferedTransformationD2Ev[_ZN8CryptoPP22BufferedTransformationD5Ev]' of /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libcrypto++.a(cryptlib.o)
`.text._ZN8CryptoPP25MessageAuthenticationCodeD2Ev' referenced in section `.text._ZN8CryptoPP25MessageAuthenticationCodeD1Ev[_ZN8CryptoPP25MessageAuthenticationCodeD1Ev]' of /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libcrypto++.a(cryptlib.o): defined in discarded section `.text._ZN8CryptoPP25MessageAuthenticationCodeD2Ev[_ZN8CryptoPP25MessageAuthenticationCodeD5Ev]' of /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libcrypto++.a(cryptlib.o)
Я подал заявку # 708370 об этом – wRAR