ld: perpustakaan tidak ditemukan untuk -lboost_system clang: error: perintah linker gagal dengan kode keluar 1 (gunakan -v untuk melihat pemanggilan)

Setelah mencoba beberapa solusi, saya rasa saya memerlukan bantuan untuk memahami cara membangun Boost dengan benar untuk Mac OSX Lion, membangun aplikasi lintas platform di XCode 4 tanpa hasil =s

Saya telah mengikuti panduan ini. Dan lakukan perintah berikut secara berurutan:

cd /Users/me/Documents/boost_1_53_0
./bootstrap.sh --prefix=installation
cd /Users/me/Documents/boost_1_53_0/tools/build/v2
./bootstrap.sh
./b2 install --prefix=installation
export PATH=$PATH:installation/bin
cd /Users/me/Documents/boost_1_53_0
./b2 --build-dir=installation toolset=darwin cxxflags="-arch i386" address-model=32 architecture=x86 stage

Saya mendapatkan kesalahan pada judul pertanyaan setelah mencoba mengkompilasi aplikasi di XCode, dengan pengeditan berikut:

Menambahkan lib ini ke "Link Binary With Libraries" di bawah "Build Phases":

libboost_filesystem.dylib
libboost_system.dylib

Dan menambahkan "$(SRCROOT)/../boost

cd /Users/me/Documents/boost_1_53_0
./bootstrap.sh --prefix=installation
cd /Users/me/Documents/boost_1_53_0/tools/build/v2
./bootstrap.sh
./b2 install --prefix=installation
export PATH=$PATH:installation/bin
cd /Users/me/Documents/boost_1_53_0
./b2 --build-dir=installation toolset=darwin cxxflags="-arch i386" address-model=32 architecture=x86 stage
53_0" ke Jalur Pencarian Header dan Perpustakaan.

Melihat beberapa pertanyaan lain di sini di Stackoverflow, banyak orang tampaknya membangun peningkatan dengan makefile dan meneruskan hal-hal seperti LDFLAGS=-L/opt/local/lib di makefile;

Di mana saya dapat menemukan tutorial atau contoh yang bagus untuk meningkatkan build? Saya tidak punya pengalaman membuat makefile sendiri, meskipun saya telah mengacaukan beberapa makefile dengan beberapa pengeditan sederhana di sana-sini.


person Hobbyist    schedule 28.03.2013    source sumber
comment
apa yang kamu coba lakukan dengan cxxflags="-arch i386"?   -  person Sam Miller    schedule 29.03.2013
comment
Langkah-langkah yang Anda posting adalah untuk membangun Boost, sedangkan judulnya sepertinya merupakan kesalahan tautan saat mencoba menggunakan perpustakaan Boost. Jadi apa pertanyaanmu? Apakah Anda mengalami kesulitan membangun lib Boost, atau menggunakannya?   -  person Praetorian    schedule 29.03.2013
comment
@Praetorian Itu adalah kesalahan yang diakibatkan oleh penggunaan boost yang saya buat dengan opsi tersebut, saya ingin tahu seperti apa proses umum membangun boost dan menggunakannya dengan Xcode.   -  person Hobbyist    schedule 29.03.2013
comment
@SamMiller Saya mencoba membangun dengan bendera itu setelah melihat beberapa pertanyaan lain di sini di SO, apakah saya berada di jalur yang salah? =s   -  person Hobbyist    schedule 29.03.2013
comment
Sulit untuk mengatakan Anda berada di jalur yang salah, pertanyaan Anda tidak jelas. Jika Anda mencoba membuat perpustakaan boost versi 32 bit, apa yang Anda lakukan sudah benar.   -  person Sam Miller    schedule 29.03.2013
comment
@SamMiller Saya tidak yakin apakah opsi build tersebut adalah sumber kesalahan linker, bagaimana cara menyampaikan pertanyaan dengan lebih baik?   -  person Hobbyist    schedule 29.03.2013
comment
Apa dan bagaimana yang Anda bangun ketika Anda menemukan kesalahan tautan tentang -lboost_system not found? Perbarui pertanyaan Anda dengan sscce yang berisi informasi tersebut.   -  person Sam Miller    schedule 29.03.2013
comment
@SamMiller Apakah hasil edit terakhir saya membuat pertanyaan saya lebih jelas? Saya tidak dapat menyediakan keseluruhan program karena ukurannya agak besar   -  person Hobbyist    schedule 29.03.2013
comment
bisakah kamu menyelesaikan masalahmu? Saya mendapatkan kesalahan yang sama sekarang ketika mencoba menginstal glogg. Saya pikir boost telah diinstal dengan benar. Saya juga menggunakan mac osx.   -  person Verena Haunschmid    schedule 17.05.2013
comment
@ExpectoPatronum Sayangnya tidak, saya menggunakan c++11 sebagai alternatif dari apa yang saya coba lakukan.   -  person Hobbyist    schedule 23.05.2013


Jawaban (1)


Periksa di mana dylib penambah Anda berada. Mungkin itu berada di bawah direktori perantara di "$(SRCROOT)/../boost_1_53_0"? Misalnya "$(SRCROOT)/../boost_1_53_0/lib". Jika ya, tambahkan seluruh path ke "Library Search Paths" di Build Settings.
Omong-omong: apakah Anda yakin ingin menautkan secara dinamis dan tidak statis?

person cody    schedule 29.03.2013
comment
Saya telah mencoba menentukan jalur untuk setiap Jalur Pencarian Header dan Perpustakaan juga, dengan harapan itu menjadi masalahnya, lalu saya kembali ke jalur root secara default karena ketidakpastian. Saya ingin menautkan secara statis, tetapi tidak menemukan alternatif lain, dapatkah Anda menunjukkan contohnya? - person Hobbyist; 29.03.2013
comment
Ini bukan tentang Jalur Header, hanya Jalur Pencarian Perpustakaan. Sekarang untuk menautkan secara statis Anda perlu mengkompilasi boost secara statis (yaitu menambahkan link=static attr saat menjalankan b2) lihat boost.2283326.n4.nabble.com/ untuk beberapa ide (pindai seluruh thread - ini bermanfaat). Setelah itu Anda harus memiliki perpustakaan dengan ekstensi .a, tambahkan perpustakaan tersebut alih-alih dylibs. - person cody; 29.03.2013
comment
Sepertinya saya terlalu berlebihan, saya mungkin harus bertanya 'Bagaimana cara membuat dan mengkompilasi Boost untuk iPhone' alih-alih kesalahan yang mungkin disebabkan oleh kompilasi yang salah =s - person Hobbyist; 29.03.2013
comment
Anda tidak boleh menanyakan itu, sudah ada pertanyaan seperti itu: stackoverflow.com/questions/1577838/ - person cody; 29.03.2013
comment
Anda juga dapat melihat danielsefton.com/2012/03/ Ini lebih baru - person cody; 29.03.2013
comment
Terima kasih atas sumber dayanya, saya melihatnya dan melihat bahwa semuanya sudah siap pakai dan siap digunakan, tetapi saya kurang memahami cara pembuatannya, saya ingin mempelajari caranya, apakah itu disarankan? - person Hobbyist; 29.03.2013
comment
Nah, dalam hal ini Anda benar-benar perlu mengajukan pertanyaan lain sehingga beberapa ahli peningkatan dapat menjawabnya, tetapi sebelum saya menyarankan pemindaian melalui SO dan permulaan yang bagus adalah tautan di panel kanan (Terkait) - person cody; 29.03.2013