我创建具有这样的构造函数C++类:如何嵌入路径的资源文件/ CMake的(在Linux上)
MyClass(const std::string& config_file);
即在实例化对象时应该将配置文件传递给构造函数。作为该项目的一部分,我创建这很可能会的情况下〜90%可以使用默认的配置文件,我希望人们能够用我的类如:
MyClass myInstance(DEFAULT_CONFIG_FILE);
即我想要的符号“ DEFAULT_CONFIG_FILE'指向我作为项目一部分创建的配置文件的路径。但问题是,我不知道人们实际安装库的位置。这里有(CMake ??)技巧/最佳实践吗?
我想可以做类似
set(DEFAULT_CONFIG_FILE ${CMAKE_INSTALL_PREFIX}/share/app/default_config.json)
但接下来的事情就不会生成目录中的工作?
乔金 -
如果我理解正确的话,你想在编译时定义'DEFAULT_CONFIG_FILE'的价值? – heuristicus
我认为这基本上是一个定义(因为它可以通过使东西=值传递) – urzeit
@ heuristicus:理想情况下在安装时,但我不想在安装时进行完整的重新编译? – user422005