2016-04-20 8 views
0

静的配列と行列を.matファイルに書き込んでMATLABに読み込むことができるプログラムをC++で作成しようとしています。それらを読むことができる。私はたくさんの読書をしてきました。私は、物事がうまくいくためには、XCodeで正しく設定する必要のあるフレームワークがあることを知っています。私はMatlab R2015bとXcode 7.3を使用しています。Xcode 7.3でMatlab C++ライブラリ/ヘッダーをリンクする際に問題が発生する

私は最初にコードをモデル化していますが、著者がReading data from matlab files into Cで言及したように単純にモデリングしていますが、私のライブラリを見つけることができません。私のマシンに/ glnxa64 /というフォルダはありません。私がインクルードしたいヘッダーは、MatlabR2015/extern/mat.h、matrix.hのインクルードにあります。

私は2つの問題があります:XCodeの私のプロジェクト設定では、私のプロジェクトがmat.hとmatrix.hを見つけるために何を修正するのですか?それは "プリコンパイル済みのヘッダキャッシュパス"か他の場所ですか?また、これらのライブラリファイルはどこにありますか、それらをXCodeでリンクするにはどうすればいいですか?プロジェクトビルドフェーズリンクバイナリのライブラリの下にありますか?

ありがとうございました!

+1

Xcodeでターゲットとタブを選択します_Build Settings _ _Header Search Paths_にmatlabのヘッダへの適切なパスを入力します。ライブラリをリンクするには_Build Phasesの_Link Binary With Libraries _を使用するか、_Build Settings _ _Library Search Paths_と_Other Linker Flags_を設定することができます_ – teivaz

+0

ありがとうございます!ターゲットビルドの設定を変更する必要があるときに、プロジェクトのビルド設定を変更していました。 –

+0

これで問題が解決された場合は、回答として投稿して解決します – teivaz

答えて

0

解決策は私の質問の2番目の部分にありました。最初の部分は、ターゲットビルドの設定ではなく、プロジェクトビルドの設定を邪魔していただけでした。

Matlabが持っているライブラリのフォルダは、使用しているMatlabのオペレーティングシステムとバージョンによって異なります。 Finderにパッケージの内容を表示させてからmatlabR2015b.appを開き、アプリケーション/ MatlabR2015b.app/bin/maci64 /に移動すると、ライブラリバイナリが私のマシン上に置かれます。名前maci64は、OSに依存して変更されます(私はMacの64ビットOS上にあるので、私のパス名の由来は信じています)。そしてファイル検索を使用するので、ライブラリのリストを手動でページングします。本当にパッケージ内で作業します。

私は正しいコード従属ライブラリをすべて含める必要があるように見えるので、私のコードはまだコンパイルされません。必要なものはどれか分かりません(私はlibmex.dylibとlibmat.dylibのみを含んでいます)。しかし、ライブラリがどこに保存されているのか分かりました。

+0

こんにちは、これは完了ですか? – Sndn

関連する問題