前提・実現したいこと
・Windows10上のOracle VirtualBox6.1から、utunbu18.04を使用して、
Mecab+ipadic+neopadsをインストールした後、sentencepieceを使えるようにすることが目的。
ここに質問の内容を詳しく書いてください。
・Mecab+ipadic-neopadsをインストールした後、以下のようにsourceディレクトリを作成し、
root@dlp:/home/tgoh# mkdir source
・Vcpkgのレポジトリを以下のようにcloneし、
root@dlp:/home/tgoh/source# git clone htts://github.com/Microsoft/vcpkg.git
・この後、vcpkgディレクトリを作成し、Source ~/.profileで /home/tgoh/source/vcpkgのパスを通してから、中にあるbootstrap-vcpkg.shを実行しました。
root@dlp:/home/tgoh/source/vcpkg# ./bootstrap-vcpkg.sh
・この後、vcpkgのライブラリを作成するため、付属のREADME.mdに従って、[build directory]をmkdir buildにして、cd buildで移動し、下記cmakeコマンドを実行すると、
root@dlp:/home/tgoh/source/vcp/build# cmake -B /home/tgoh/source/vcp/build -S . -DCMAKE_TOOLCHAIN_FILE=/home/tgoh/source/vcpkg/scripts/buildsystems/vcpkg.cmake
・以下のエラーが発生しました。
発生している問題・エラーメッセージ
root@dlp:/home/tgoh/source/vcpkg/build# cmake -B /home/tgoh/source/vcpkg/build -S . -DCMAKE_TOOLCHAIN_FILE=/home/tgoh/source/vcpkg/scripts/buildsystems/vcpkg.cmake
CMake Error: The source directory "/home/tgoh/source/vcpkg/build" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
該当のソースコード
試したこと
ここに問題に対して試したことを記載してください。
・TOOLCHAINなのでバッチ処理みたいに一括でライブラリを作成することは推測でき、またCMakeLists.txtが必要なことは解っていましたが、find -name CmakeLists.txtを実行して適切なものがどれか解らず、visual C++に関するライブラリの作成方法は多く見られましたが、linux、64ビット用の文献は少なく、
Vcpkg searchを実行して必要なライブラリを探して、vcpkg install ライブラリ名で、インストールする方法も探しましたが、sentencepieceで使用するライブラリがどれか解らないので、
やはり、全部をバッチ処理みたいにするしかないと考え、
「Cmakeプロジェクトの場合は、CMAKE_TOOLCHAIN_FILEを使用して、ライブラリをfind_package()で使用できるようにします。たとえば、LinuxまたはmacOSの場合は次のようになります。
Cmake .. -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake」
とのウェブ上のアドバイスも実施しましたが、やはりCmakeLists.txtの作成は必須のようで、
なおかつ下記のQ&Aを読むと、toolchainも作成する必要があるようで、この辺りで完全に行き詰ってしまいました。
・試しに、README.mdに記載の下記のCmakeLists.txtの内容を作成して、
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake
CACHE STRING "Vcpkg toolchain file")
・下記コマンドを実行してみましたが、エラーになります。
root@dlp:/home/tgoh/source/vcpkg# cmake -B build -S .
CMake Error: The source "/home/tgoh/source/vcpkg/CMakeLists.txt" does not match the source "/home/tgoh/source/vcpkg/build/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory.
・まだ基本的なことを理解していないからですが、何かしらのアドバイスを頂ければ誠に幸いです。
よろしくお願いいたします。
・以下は、参考にしたQ&Aの投稿です。
How to integrate vcpkg in linux with cross build toolchain, as well as sysroot?
My question is, how to integrate vcpkg in linux with cross build toolchain, as well as sysroot? example:
• build machine is fedora30
• cross build toolchain is x86_64-centos7-gnu
from https://github.com/microsoft/vcpkg quickstart says:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
PS> .\bootstrap-vcpkg.bat
Linux:~/$ ./bootstrap-vcpkg.sh
On my machine I have gcc 9.1 installed which is detected by vcpkg's bootstrap.sh and work fine;
Meanwhile, I built a toolchain for crossbuilding, which sits in $HOME/cross/x64_86-centos7-linux-gnu/
How can I setup another vcpkg dir tree which uses that perticular toolchain?
By 'use', I mean vcpkg and all its packages should be compiled by that toolchain, and my projects which use vcpkg's toolchain_file '$vcpkg_home/scripts/buildsystems/vcpkg.cmake' should all have that toolchain as $CC and build toolset?
linux cmake vcpkg
share improve this question follow
edited Nov 9 '19 at 16:30
asked Nov 9 '19 at 9:02
Michaelzh
18211 silver badge1010 bronze badges
• Did you follow all the steps from the Quickstart? Did you get errors? Which steps worked, or didn't work? Please add these details to your question post! – squareskittles Nov 9 '19 at 14:49
• edit: On my machine I have gcc 9.1 installed which is detected by vcpkg's bootstrap.sh and work fine; Meanwhile, I built a toolchain for crossbuilding, which sits in $HOME/cross/x64_86-centos7-linux-gnu/ How can I setup another vcpkg dir tree which uses that perticular toolchain? By 'use', I mean vcpkg and all its packages should be compiled by that toolchain, and my projects which use vcpkg's toolchain_file '$vcpkg_home/scripts/buildsystems/vcpkg.cmake' should all have that toolchain as $CC and build toolset? – Michaelzh Nov 9 '19 at 16:32
• Please add all this information to your question post – squareskittles Nov 9 '19 at 16:38
• Quick start: all steps to me work fine, compiled and runned a program with some vcpkg's packages; Non-quickstart: problem is no cmake-ish xxx-toolchain.cmake in my cross compile toolchain dir tree to try as a -DCMAKE_TOOLCHAIN_FILE list item. – Michaelzh Nov 9 '19 at 16:43
• Not to mention that wish to compile vcpkg downloaded packages to install with that toolchain which I think is obviously a requirement to build projects. – Michaelzh Nov 9 '19 at 16:47
show 1 more comment
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー