2017-10-06 96 views
0

我試圖將NetBeans作爲我的新的IDE for C++。我很樂意使用conan.io作爲包管理器。Conan.io和netbeans - howto設置項目

我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; } 

當我創建一個build目錄並運行柯南等它安裝和工作原理:

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

但在NetBeans中,它向我展示了一個未解決的include(netbeans不知道那裏有conan存儲boost文件)。

如何配置netbeans以使用conan生成的include路徑? 柯南創建conanbildinfo.cmake和conanbuildinfo.txt包含完整路徑,但我不知道如何在netbeans中使用它們。

希望有人能告訴我如何正確設置(或給我一個netbeans的簡短示例項目) - 謝謝!

回答

0

Netbeans可能會使用特定的構建文件夾佈局,因爲以前的CLion版本只是將「臨時」構建文件夾放在系統中的某個位置。

我猜測CMake執行抱怨沒有找到conanbuildinfo.cmake文件,而不是Boost頭文件。

因此,首先要知道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() 

然後,就cd到該文件夾​​,conan install與相應的配置(注意,此過程可能需要進行不同的配置來運行,就像調試/發佈)。

相關問題