我已经用:
指定了我的二进制输出目录 tab1 = new UINavigationController(new HomeViewController());
tab1.TabBarItem.Image = UIImage.FromFile("Icons/Home.png");
不幸的是,Visual Studio添加了set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
和Debug
个目录。
我不想要这些。
多配置生成器(VS,Xcode)将每个配置的子目录附加到指定的目录,除非使用了生成器表达式。
但我不确定这意味着什么。
如何让Visual Studio 不添加这些目录?
答案 0 :(得分:4)
直接回答您的问题:使用生成器表达式,如文档所示。这是一个例子:
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY $<1:${CMAKE_SOURCE_DIR}/bin>)
$<1:xxx>
是一个扩展到xxx
的genex,这意味着最终值将是您想要的值。
但是,请注意,这意味着在构建时,当前构建的配置中的二进制文件将覆盖先前构建的二进制文件,即使这是不同的配置。你确定要的吗?
作为旁注,您指定的路径相对于源目录。这听起来也很不寻常,很容易导致问题。例如,如果您从同一个源(到不同的二进制目录)生成多个构建系统,则它们中的.exe
个文件将存储在同一位置,最后一个构建将覆盖任何以前的文件。这听起来像是一堆坚固的蠕虫和未来的维护噩梦。
虽然我不知道您的设置细节,但我建议您重新考虑在源代码树中存储构建工件。