我试图使Conan与CMake一起运行,Embarcadero东京10.2.3编译器。我可以按照它的教程使用Embarcadero完成CMake。但柯南的问题似乎发生了。所以我做conan install。然后我做cmake .. -DCMAKE_CXX_COMPILER="bcc32c.exe" -DCMAKE_C_COMPILER="bcc32c.exe" -DCMAKE_VERBOSE_MAKEFILE=1 -G Ninja。我知道错误了
不正确的“Visual”。工具集指定编译器为“MSVC”,但CMake检测到“Embarcadero”
默认的conan显示compiler=Visual Studio,我认为这是问题的来源。但不知道如何将其更改为Embarcadero (不认识),也不知道更改默认配置文件是否可行。我的CMakeLists.txt文件看起来如下(大部分是默认的)
project(Timer)
cmake_minimum_required(VERSION 3.11)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
add_executable(timer timer.cpp)
target_link_libraries(timer ${CONAN_LIBS})完整的cmake输出如下:
-- The C compiler identification is Embarcadero 7.30.36015
-- The CXX compiler identification is Embarcadero 7.30.36015
-- Check for working C compiler: C:/Program Files (x86)/Embarcadero/Studio/19.0/bin/bcc32c.exe
-- Check for working C compiler: C:/Program Files (x86)/Embarcadero/Studio/19.0/bin/bcc32c.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Embarcadero/Studio/19.0/bin/bcc32c.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Embarcadero/Studio/19.0/bin/bcc32c.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Current conanbuildinfo.cmake directory: C:/Mathew Joy/Source/mytimer/build
CMake Error at build/conanbuildinfo.cmake:579 (message):
**Incorrect 'Visual Studio'. Toolset specifies compiler as 'MSVC' but CMake
detected 'Embarcadero'**
Call Stack (most recent call first):
build/conanbuildinfo.cmake:237 (conan_check_compiler)
CMakeLists.txt:5 (conan_basic_setup)发布于 2018-05-25 15:20:14
您需要自定义默认的settings.yml文件,该文件可以在<userhome>/.conan/settings.yml中找到
该文件定义了一些最流行的编译器,您可以添加如下内容:
compiler:
sun-cc:
...
gcc:
version: ["4.1", "4.4", "4.5", "4.6", "4.7", "4.8", "4.9",
Visual Studio:
runtime: [MD, MT, MTd, MDd]
version: ["8", "9", "10", "11", "12", "14", "15"]
...
Embarcadero:
version: ["V1", "V2"...]该文件可以与团队共享和同步,并使用conan config install命令在CI机器中使用。
然后,为了方便起见,可以将这些值添加到默认配置文件中,而不是添加Visual Studio值。
很可能,内置构建帮助程序(如CMake )所提供的大部分逻辑对于这个编译器来说都是有限的,因为它不认识它。如果是这样的话,可以运行您的逻辑直接调用构建系统:
def build(self):
self.run("cmake . -G ....")
self.run("cmake --build . --config Release")如果您想要为不同的配置正确地构建和创建包,那么您应该根据需要使用这些设置和选项来参数化上面的内容。
所有这些都假设您将创建并依赖于您自己的包,因为公共conan中心存储库中的现有包将用于流行的编译器,因此二进制文件将是不兼容的,并且这些菜谱很可能不会实现从Embarcadero的源代码构建。
发布于 2020-05-28 17:27:46
VisualStudio2019 C++比Embarcadero好得多。我用过东京版和里约版,没有可比性。此外,您还可以下载托管C++,称为C++ CLR (而不是CLI),它将允许您将.NET窗体/控制台与本地C++应用程序集成。
VisualStudio2019 C++在创建Xamarin库时工作良好,可以轻松地与C#集成用于Xamarin窗体。Xamarin Forms适用于Android和IOS (Xamarin)。
在2019年7月,Embarcadero最终增加了64位Mac操作系统,而MAC自2008年以来已经增加了64位。
这应该能告诉你一些事情。
https://stackoverflow.com/questions/50530211
复制相似问题