2017-10-06 6 views
0

私は新しいIDE for C++としてNetBeansを試しています。私はパッケージマネージャーとしてconan.ioを使いたいです。Conan.ioとnetbeans - プロジェクトを設定するためのハウツ

マイconanfile.pyは(コナンサイトから)次のようになります。

class MyConanTestProj(ConanFile): 
    settings = "os", "compiler", "build_type", "arch" 
    requires = "Protobuf/[email protected]/stable", "Boost/[email protected]/stable" # comma separated list of requirements 
    generators = "cmake", "txt" 
    default_options = "Poco:shared=True", "OpenSSL:shared=True", "Boost:shared=True" 

    def imports(self): 
     self.copy("*.dll", dst="bin", src="bin") # From bin to bin 
     self.copy("*.dylib*", dst="bin", src="lib") # From lib to bin 
#  self.copy('*.so*', dst='bin', src='lib') 

    def build(self): 
     cmake = CMake(self) 
     cmake.configure() 
     cmake.build() 

マイCMakeLists.txt:

project(MyTestProj) 
cmake_minimum_required(VERSION 2.8.12) 

add_definitions("-std=c++14") 

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) 
conan_basic_setup() 

add_executable(testProj testProj.cpp) 
target_link_libraries(testProj ${CONAN_LIBS}) 

testProj.cpp:(ちょうどそれがコンパイルとリンクを参照します。 ...)

#include <boost/filesystem.hpp> 
int main(void) { return 0; } 

私はビルドディレクトリを作成し、コナンインストールし、それが動作する上で実行します。

mkdir build -p && cd build && conan install .. && cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release && cmake --build 

しかし、NetBeansでは未解決のインクルードが表示されます(netbeansには、コーンがブーストファイルを格納しているという考えはありません)。

conanによって生成されたインクルードパスを使用するようにnetbeansを設定するにはどうすればよいですか? Conanはconanbildinfo.cmakeとconanbuildinfo.txtをフルパスで作成しましたが、ネットビーンでどのように使用するのか分かりません。

これを正しく設定する方法を誰かに教えてもらえますか(または、私にネットビーンズの短いプロジェクト例を教えてください) - ありがとう!

答えて

0

以前のバージョンのCLionと同じように、Netbeansが特定のビルドフォルダレイアウトを使用していた可能性があります。単に「一時的な」ビルドフォルダをシステムのどこかに置くだけです。

私は、CMakeの実行がBoostヘッダーではなくconanbuildinfo.cmakeファイルを見つけられないと不平を言っていると思います。

まず、NetbeansがCMakeバイナリディレクトリとして使用しているフォルダを知ることです。あなたのCMakeLists.txtに追加することができます。そのフォルダに次に

if(NOT EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) 
    message(FATAL_ERROR "Missing conanbuildinfo. Move to ${CMAKE_BINARY_DIR} folder, and run conan install there") 
endif() 

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) 
conan_basic_setup() 

、ちょうどcdconan installをそれぞれのコンフィギュレーション(このプロセスは、デバッグ/リリースのように、異なる構成のために実行する必要があるかもしれないことに注意)で。

関連する問題