@nekotokani

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

C++でmecabを使おうとしてよくわかんないエラー出た

解決したいこと

ここのライブラリを使ってmecabを使おうとしたところ、よくわからんエラーがでて実行できません…
どうすればいいでしょうか?

発生している問題・エラー

C:/pg/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\(ユーザ名)\AppData\Local\Temp\ccmcv35O.o:test.cpp:(.text+0x88): undefined reference to `__imp__ZN5MeCab12createTaggerEPKc'
collect2.exe: error: ld returned 1 exit status

該当するソースコード

#include <mecab.h>
#include <iostream>
int main(int argc, char const *argv[])
{
    char input[1024] = "ジョニーは戦場へ行った";
    MeCab::Tagger *tagger = MeCab::createTagger("-Owakati");
    const char *result = tagger->parse(input);
    std::cout << result << std::endl;
    return 0;
    std::cout << "aaaa";
}

自分で試したこと

調べたら他にも同じようなエラーで困っている人はいましたが、回答はもらえてませんでした

0 likes

1Answer

Comments

  1. @nekotokani

    Questioner

    前の状態と比べて環境がちょっと変わるし、もっと詳しく書いた方がいいのかなと思って今回質問したんですがよくなかったですか?

  2. 失礼しました。「未解決のまま」ということだったのですね。

    当方、多少環境が違うと思いますが、同じエラーが起きました。

    PS C:\Users\nak435\sample> g++ -I./include sample.cpp -o sample.exe -Xlinker -L./lib/ ./bin/libmecab.dll -l:libmecab.lib
    C:\w64devkit\bin/ld.exe: C:\Users\nak435\AppData\Local\Temp\cc5Qj3mR.o:sample.cpp:(.text+0x8c): undefined reference to `__imp__ZN5MeCab12createTaggerEPKc'
    collect2.exe: error: ld returned 1 exit status
    

    mecab-msvc-x64-0.996.10.zip MSVCが必要なのかも?

  3. MSVC v143でコンパイルしてみました。
    エラーはなく exeが出来ましたが、実行しても何も出ません。

    PS C:\Users\nak435\sample> cl /DDLL_IMPORT /EHsc /I./include sample.cpp ./lib/libmecab.lib
    Microsoft(R) C/C++ Optimizing Compiler Version 19.42.34435 for x64
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    sample.cpp
    Microsoft (R) Incremental Linker Version 14.42.34435.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    /out:sample.exe
    sample.obj
    ./lib/libmecab.lib
    PS C:\Users\nak435\sample> .\sample.exe
    PS C:\Users\nak435\sample>
    
  4. @nekotokani

    Questioner

    わざわざ自分で試してくださってまじでありがとうございます!
    だめだったのは残念です…

  5. 自分の環境の問題の可能性もあるので、ぜひ、ご自身で試してみてください。

Your answer might help someone💌