Visual Studio 2010でmecabを使用する方法

このQ&Aのポイント
  • Visual Studio 2010を使用してC言語でmecabを実行したい場合、ヘッダファイルをincludeする必要があります。
  • ヘッダファイルは'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include'に配置します。
  • しかし、コンパイル時に未解決の外部シンボルエラーが発生する場合があります。解決方法が分からない場合は、教えていただければ幸いです。
回答を見る
  • ベストアンサー

mecabというアプリケーションをvisual studio 2010

mecabというアプリケーションをvisual studio 2010を用いてC言語で実行したいのですが、どのようにすればいいのか分からず困ってます。 mecabの中にあるヘッダファイルは C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include に入れたらincludeしてくれたのですが、実行してみると 未解決の外部シンボル __imp__mecab_destroy が関数 _main で参照されました。 となってしまいうまくコンパイルできません。 ヘッダファイルのほかにどのファイルをどこに入れたらいいのか もしわかる方がいれば教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

libmecab.lib をプロジェクトに追加する必要があります。 また、実行時には、 libmecab.dll を、パスが通ったところもしくは出来た実行ファイルと同じフォルダに入れておく必要があります。

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

普通は… >C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include >に入れたら という、環境を汚すようなことはしないかと。 # どれが標準で入ったものか判らなくなります。 プロジェクトのプロパティの「構成プロパティ」に「VC++ ディレクトリ」というのがあります。 こちらの「インクルード ディレクトリ」と「ライブラリ ディレクトリ」に追加、 #include <~>と「構成プロパティ」の「リンカー」「追加の依存ファイル」にライブラリのファイル名を入れて ビルドすることになるかと。 # なお、構成プロパティは「Debug」や「Release」など、別々に設定する点には注意。

関連するQ&A

  • Visual Studio 2008 Professional EditionでのMFCの使用法

    4月から社会人となる、情報系学生です。 勤務先で必要となるため、Visual Studio + MFCでのWindowsアプリ作成を勉強しています。 環境はVS 2008 Professional Edition(90日限定評価版)でVC++2008、参考書は「ゼロから学ぶVisual C++」です。 最初のサンプルでは、 ・シングル ドキュメント インターフェイスで、 で、メニューをクリックすると「Hello」というメッセージボックスが出るプログラムを組むのですが、いきなりエラーが6つも出てしまいます。 気になる点としては、参考書ではVisual C++2003を使用して説明されているのですが、こちらの環境が2008であることぐらいで、その他の原因は皆目検討つきません。 原因がわかりそうな方がいらっしゃいましたら、何卒ご教授願います。 エラーメッセージは下記の通りです。(Worning含む) c:\program files\microsoft visual studio 9.0\vc\include\cstringt.h(267) : warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. (途中省略) c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(300) : error C2299: 'ATL::CComPtr<T>::operator =' : 動作の変更: 明示的な特殊化には、コピー コンストラクタまたはコピー代入演算子を使用することはできません c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(304) : コンパイルされたクラスの テンプレート のインスタンス化 'ATL::CComPtr<T>' の参照を確認してください c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(300) : error C2299: 'ATL::CComPtr<T>::operator =' : 動作の変更: 明示的な特殊化には、コピー コンストラクタまたはコピー代入演算子を使用することはできません with [ T=IUnknown ] c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(508) : コンパイルされたクラスの テンプレート のインスタンス化 'ATL::CComPtr<T>' の参照を確認してください with [ T=IUnknown ] c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(300) : error C2299: 'ATL::CComPtr<T>::operator =' : 動作の変更: 明示的な特殊化には、コピー コンストラクタまたはコピー代入演算子を使用することはできません with [ T=IPersistStream ] c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(2215) : コンパイルされたクラスの テンプレート のインスタンス化 'ATL::CComPtr<T>' の参照を確認してください with [ T=IPersistStream ] c:\program files\microsoft visual studio 9.0\vc\include\atlcomtime.h(118) : error C2535: 'ATL::COleDateTime::COleDateTime(time_t) throw()' : メンバ関数は、既に定義または宣言されています。 c:\program files\microsoft visual studio 9.0\vc\include\atlcomtime.h(114) : 'ATL::COleDateTime::COleDateTime' の宣言を確認してください。 c:\program files\microsoft visual studio 9.0\vc\include\atlcomtime.h(176) : error C2535: 'ATL::COleDateTime &ATL::COleDateTime::operator =(const time_t &) throw()' : メンバ関数は、既に定義または宣言されています。 c:\program files\microsoft visual studio 9.0\vc\include\atlcomtime.h(172) : 'ATL::COleDateTime::operator =' の宣言を確認してください。 c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(300) : error C2299: 'ATL::CComPtr<T>::operator =' : 動作の変更: 明示的な特殊化には、コピー コンストラクタまたはコピー代入演算子を使用することはできません with [ T=IMalloc ] c:\program files\microsoft visual studio 9.0\vc\include\atlcommem.h(55) : コンパイルされたクラスの テンプレート のインスタンス化 'ATL::CComPtr<T>' の参照を確認してください with [ T=IMalloc ] ビルドログは "file://c:\Users\hisazun\Documents\Visual Studio 2008\Projects\MFCsample01\MFCsample01\Debug\BuildLog.htm" に保存されました。 MFCsample01 - エラー 6、警告 7

  • Visual Studio Codeについて

    今、Visual Studio Codeを使用しようと思い、インストールしたのですが、 ソースコードのヘッダーファイルのインクルード部分が赤い波線が表示されてコンパイル等ができません。設定方法や使い方等ご存じの方がいましたら、教えてください。よろしくお願いいたします。 追伸: 因みに、コンパイラーはbcc32xを使用するつもりです。 インストール先は「C:\Program Files\BCC102\bin」です。 Googleのインストール先は、「C:\ProgramFiles\Google\Chrome\Application」です。

  • C言語のPathFileExistsについて

    visual studio 2010、C言語でPathFileExistsを使って ファイル有無のチェックをしようと試みましたが、 コンパイルエラーになってしまいました。 環境はwindowsXP、SP3です。 参考にしたいくつかのサイトでは、visual studio 2010ではPathFileExistsを使って ファイル有無をチェックできると書いてあったのですが、 visual studio 2010でもC言語だとPathFileExistsは使えないのでしょうか? TEST.C #include <stdio.h> #include <shlwapi.h> int main() {   char path[128];   sprintf( path, "c:\\tmp.txt" );   if ( PathFileExists(path) ){     printf("ファイル有\n");   }   else{     printf("ファイル無\n");   }   return 0; } TEST.OBJ : error LNK2019: 未解決の外部シンボル __imp__PathFileExistsA@4 が関数 _ main で参照されました。 TEST.EXE : fatal error LNK1120: 外部参照 1 が未解決です。 NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BI N\link.exe"' : リターン コード '0x460' Stop.

  • Visual Studio2008で簡単にプログラムを組む方法を教えてください

    お世話になります。c++初心者です 現在Visual Studio2008でc++のプログラムを組んでいるのですが、 ソースファイルフォルダの下に2つ以上プログラムがあると、 それらをまとめて処理してしまうようで、できれば、 a1.cpp,a2.cpp,というように、分割してコンパイル&実行したいのですが、 そのような方法は可能でしょうか? 本来ならば、フリーのソフトで実行すればよいのですが、 どうもそれに見合うものがなく、Visual Studioを使っています。 状況は、プロジェクトの下に、ソースファイルフォルダ、 ヘッダーファイルフォルダ、リソースファイルフォルダがあり、 ソースファイルフォルダに新しい項目を追加する形で、記述しています。 よろしくお願いいたします。

  • Visual Studioに関する質問

    センサを使って工作しようと思うのですが,センサメーカーから提供されているプログラミングに #include <avr/interrupt.h> #include <avr/io.h> #include <avr/pgmspace.h> と記載されてました.自分はプログラム開発環境にVisualStudioC++2010Expressを 使用しているのですが,C\ProgramFile\Microsoft Visual Stdio\VC\Includeを確認してみたところ やはりこれらのヘッダファイルは存在しませんでした.そこで,これらのヘッダファイルを新たにVSに 追加しようと思うのですが,やり方がよくわかりません.どうすれば良いでしょうか?

  • OpenNIの動作について

    OpenNIをvisual studio2008で動作させようとしています。 そこで以下のメッセージが出て動作しません。インクルードファイルのリンクはしたつもりなのですが、参照できていないのでしょうか。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceCreateStream" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniFrameRelease" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceIsPropertySupported" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamGetSensorInfo" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceClose" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniShutdown" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniGetExtendedError" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniWaitForAnyStream" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniInitialize" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamStart" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceGetInfo" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamIsPropertySupported" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceOpen" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceGetSensorInfo" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamDestroy" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamStop" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniStreamReadFrame" は未解決です。 1>main.obj : error LNK2001: 外部シンボル "__imp__oniDeviceIsCommandSupported" は未解決です。 1>C:\Users\sakata\Documents\Visual Studio 2008\Projects\openNI_test\Release\openNI_test.exe : fatal error LNK1120: 外部参照 18 が未解決です。 以上です。 追加のインクルードディレクトリには C:\Program Files\OpenNI2\Include\Win32 C:\Program Files\OpenNI2\Include 追加のライブラリディレクトリには "C:\Program Files\OpenNI2\Lib" を追加しました。 環境変数はOpenNIをインストールしたときに勝手に追加されたので間違っていないと思います。 環境は以下です。 OS:Windows7 32bit OpenNIはOpenNI2を入れています。(2013年6月現在で最新?) もちろん32bit版です。 動作カメラはXtionです。ドライバインストール済みで、サンプルプログラムの.exeファイルでの動作は確認しています。 他の質問でx64でビルドすれば通るなどと書いてありますが、それは64bit版OSの話ですよね? 原因わかる方、回答お願いします。

  • Visual C++ 7.0 について

    Visual C++ 7.0 でコンパイルオプション?(インクルードさせたいヘッダーファイルがあるフォルダ)を設定させるには、どのような操作を行うのでしょうか?

  • visual studio 2005 の使い方がわかりません。

    以前HSPをつかっていました。 今回C++を勉強しようと思い、visual studio 2005 standard を購入したのですが、使い方がさっぱりわかりません。 どれで新規作成し、どれで「実行」できるのでしょうか? そんな単純なものではないのでしょうか? とりあえずvisual studioを起動→ファイル→新規作成→ファイル→C++ファイル、を選び、 簡単なソースを書きましたが、どうやって実行して確認できますか? また、初心者向けの解説サイトがありましたらお願いします。

  • VC++ iostreamの不具合(?)

    手強いVC++のエラーです(対処が効かない #include <iostream> int main () {cout << "ggrks"; return 0;} C2065エラー 'cout' : 定義されていない識別子です。 #include <iostream.h> int main () {cout << "Hello C++!"; return 0;} C1083エラー include ファイルを開けません。'iostream.h': No such file or directory iostream(拡張子無)はCドライブのプログラムファイル、Microsoft Visual Studio 9.0\VC\includeに存在してます。 パスは許可してあります。 ツール→VC++ディレクトリ→インクルードファイルで C:\Program Files\Microsoft Visual Studio 9.0\VC\include と C:\Program Files\Microsoft Visual Studio 9.0\VC\include\iostream もついでに。 インストが完全でなかったのかと思い、「修復又は再インストール」で再インストしましたが変わりません。 気分転換(?)に一回アンインストールしてから再インストール(あまり意味ありませんけど)しても同様です。 どうすれば良いでしょうか。ご教授願います。

  • Visual Studio.netについて

    Visual studio.net を使用しています。 単純な質問なんですが.netでのVC++の使い方やコンパイルの やり方教えていただけないでしょうか?

専門家に質問してみよう