2017-04-25 13 views
0

アップルの領収書を検証するためにMacOSアプリケーションにOpenSSLを組み込む際に問題があります。ここ は私が得るものです:OpenSSLライブラリをMacOSアプリケーションにロード

を私は私のOpenSSLのlibをコンパイルするには、このスクリプトを使用しています:私libssl.dyliblibcrypto.dylib

を与える

#!/bin/bash 

OPENSSL_VERSION="1.0.1e" 

curl -O -L http://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz 
tar -xvzf openssl-$OPENSSL_VERSION.tar.gz 
mv openssl-$OPENSSL_VERSION openssl_i386 
tar -xvzf openssl-$OPENSSL_VERSION.tar.gz 
mv openssl-$OPENSSL_VERSION openssl_x86_64 
cd openssl_i386 
./Configure darwin-i386-cc -shared 
make 
cd ../ 
cd openssl_x86_64 
./Configure darwin64-x86_64-cc -shared 
make 
cd ../ 
lipo -create openssl_i386/libcrypto.dylib openssl_x86_64/libcrypto.dylib -output libcrypto.dylib 
lipo -create openssl_i386/libssl.dylib openssl_x86_64/libssl.dylib -output libssl.dylib 
rm openssl-$OPENSSL_VERSION.tar.gz 

ここ

dyld: Library not loaded: /usr/local/ssl/lib/libcrypto.1.0.0.dylib

は私がやってんですよ

次に、自分のポッドファイルにpod installを実行します。

target 'MyApp' do 
use_frameworks! 
pod 'OpenSSL', '~> 1.0' 
end 

私はその後、ちょうど得るために、私のプロジェクトを実行しよう:

dyld: Library not loaded: /usr/local/ssl/lib/libcrypto.1.0.0.dylib 
    Referenced from: /Users/me/Source/myApp/DerivedData/myApp/Build/Products/Debug/myApp.app/Contents/MacOS/myApp 
    Reason: image not found 

私はまだlibryptoのlibを追加しませんでしたが、なぜそれが私の/usr/local/ssl/lib/でそれを見つけようとしない理解できますか?どこに置くべきですか? ;

+0

を使用して、それを解決し、あなたのコメントをありがとう['dyld(1)' man page](https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/dyld.1.html)を参照してください。その「*理由:イメージが見つかりません」*の場合は、 'install_name_tool'を使用して場所を変更してください。太ったライブラリを作成するプロセスは少し外れているようです。 'opensslconf.h'がi386とx86_64の両方に保存されていることを確認する必要があります。 [Build Multiarch OpenSSL on OS X](http://stackoverflow.com/q/25530429/608639)を参照してください。 – jww

+0

[dyld:ライブラリがロードされていません...理由:Image not loaded](http://stackoverflow.com/q/17703510/608639)[[Mac OS Xでdylibを検索する実行ファイルを更新するinstall_name_tool] (http://stackoverflow.com/q/33991581/608639)、[エラー:dlopen()ライブラリが読み込まれません理由:画像が見つかりません](http://stackoverflow.com/q/19776571/608639)など – jww

答えて

0

は最後に、私はあなたがおそらくライブラリのロードの問題をデバッグするために `` DYLD_PRINT_ *のいくつかを追加する必要があります異なるポッドOpenSSL-Universal

関連する問題