首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >C& CXX编译器问题-多个定义

C& CXX编译器问题-多个定义
EN

Stack Overflow用户
提问于 2015-02-13 08:58:28
回答 1查看 2.3K关注 0票数 2

我正在开发一个使用SFML的游戏。目前,该项目在目录“CMakeFiles”中使用CMakeCCCompilerId.c和CMakeFiles。

我在下面得到以下错误:

代码语言:javascript
运行
AI代码解释
复制
build/Debug/GNU-Linux-x86/_ext/305235777/CMakeCXXCompilerId.o:(.data+0x0): multiple definition of `info_compiler'
build/Debug/GNU-Linux-x86/_ext/1773982079/CMakeCCompilerId.o:(.data+0x0): first defined here
build/Debug/GNU-Linux-x86/_ext/305235777/CMakeCXXCompilerId.o:(.data+0x8): multiple definition of `info_platform'
build/Debug/GNU-Linux-x86/_ext/1773982079/CMakeCCompilerId.o:(.data+0x8): first defined here
build/Debug/GNU-Linux-x86/_ext/305235777/CMakeCXXCompilerId.o:(.data+0x10): multiple definition of `info_arch'
build/Debug/GNU-Linux-x86/_ext/1773982079/CMakeCCompilerId.o:(.data+0x10):  first defined here
build/Debug/GNU-Linux-x86/_ext/305235777/CMakeCXXCompilerId.o: In function `main':
/home/rob/NetBeansProjects/development/projects/sfml- tmxloader/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp:368: multiple  definition of `main'
 build/Debug/GNU-Linux-x86/_ext/1773982079/CMakeCCompilerId.o:/home/rob/NetBeansProjects/development/projects/sfml-tmxloader/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c:378: first defined here

build/Debug/GNU-Linux-x86/_ext/581045564/Benchmark.o: In function `main':
/home/rob/NetBeansProjects/development/projects/sfml-   tmxloader/examples/Benchmark.cpp:89: multiple definition of `main'
build/Debug/GNU-Linux-x86/_ext/1773982079/CMakeCCompilerId.o:/home/rob/NetBeansProjects/development/projects/sfml-tmxloader/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c:378: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [dist/Debug/GNU-Linux-x86/levelrender] Error 1
make[2]: Leaving directory  `/home/rob/NetBeansProjects/development/projects/LevelRender'
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory `/home/rob/NetBeansProjects/development/projects/LevelRender'
make: *** [.build-impl] Error 2
EN

回答 1

Stack Overflow用户

发布于 2022-02-09 10:49:21

同样的问题,通过将CXX添加到:

代码语言:javascript
运行
AI代码解释
复制
project(project_name CXX)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28504754

复制
相关文章
cmake:通过CMAKE_CXX_COMPILE_FEATURES判断编译器是否支持C++11
以前在cmake中要判断一个编译器是否支持C++11挺麻烦的,要根据编译器的类型和版本来判断。 从cmake 3.1版本开始增加了一个CMAKE_CXX_COMPILE_FEATURES变量用于获取当前C++ 编译器支持的编译特性列表,列表中是一些定义在CMAKE_CXX_KNOWN_FEATURES(C++已知特性)中的特性名字,比如cxx_lambdas即为当前编译器支持lambda表达式。 从cmake 3.8版本开始,cmake可识别的编译特性增加了代表C++标准的特性名:cxx_std_98,cxx_std_11,cxx_std_14,cxx_std_17
10km
2022/04/13
5590
(十一)定义多个 store
我们在开发大型项目的时候会有很多的状态,比如说关于用户的,关于产品的,等等之类的,如果我们把他放在一个 store 里面就会变得非常难以维护
老怪兽
2023/02/22
5950
c++ 副本构造器
我们都知道两个指针指向同一个变量时如果一个指针被释放那么另一个就会出问题 为了说明问题我做了一个很恶心的小例子 class C { public : C(int v) { ptrInt=new int; *ptrInt=v; valueInt = v; } ~C() { } void DelIntV() { valueInt=0; delete ptrInt;
lpxxn
2018/01/31
8950
c++  副本构造器
cmake _GLIBCXX_USE_CXX11_ABI undefined reference std::__cxx11::basic_string
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/70939605
bear_fish
2018/09/19
3.7K0
C++| 编译器预定义的宏
clang -dM -E -x c /dev/null ➜ ~ clang -dM -E -x c /dev/null #define _LP64 1 #define __APPLE_CC__ 6000 #define __APPLE__ 1 #define __ATOMIC_ACQUIRE 2 #define __ATOMIC_ACQ_REL 4 #define __ATOMIC_CONSUME 1 #define __ATOMIC_RELAXED 0 #define __ATOMIC_RELEA
heidsoft
2022/04/18
2.2K0
C++| 编译器预定义的宏
多个defer的执行问题
package main import ( "fmt" ) func main() { defer_call() } func defer_call() { defer func() { fmt.Println("打印前") }() defer func() { fmt.Println("打印中") }() defer func() { fmt.Println("打印后") }() } ---------------------------------------- 打印结果 打印后 打印中 打印前 ---------------------------------------- 多个defer使用,顺序是反的,第一个defer再最后一个执行,最后是在第一个执行。
公众号-利志分享
2022/04/25
3480
CentOS6.5编译Caffe过程记录(系统存在多个编译器)
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/52652008
10km
2019/05/25
8530
Check for working CXX compiler using: Visual Studio 10
Check for working CXX compiler using: Visual Studio 10 Check for working CXX compiler using: Visual Studio 10 – works Detecting CXX compiler ABI info Detecting CXX compiler ABI info - done ERRORNeither ‘svn’ nor ‘git’ as SCM found Git branch Build CGAL from git-branch: n/a Removed not-a-package: .gitattributes;.gitignore;out Installation package directory: D:/Cgal/cgal-releases-CGAL-4.0_vs2005/Installation Maintenance package directory: D:/Cgal/cgal-releases-CGAL-4.0_vs2005/Maintenance Core package directory: D:/Cgal/cgal-releases-CGAL-4.0_vs2005/Core Packagenames: AABB_tree;Algebraic_foundations;Algebraic_kernel_d;Algebraic_kernel_for_circles;Algebraic_kernel_for_spheres;Alpha_shapes_2;Alpha_shapes_3;Apollonius_graph_2;Approximate_min_ellipsoid_d;Arithmetic_kernel;Arrangement_on_surface_2;BGL;Boolean_set_operations_2;Box_intersection_d;CGAL_ipelets;CGALimageIO;Cartesian_kernel;Circular_kernel_2;Circular_kernel_3;Circulator;Combinatorial_map;Conic_2;Convex_decomposition_3;Convex_hull_2;Convex_hull_3;Convex_hull_d;Core;Developers_manual;Distance_2;Distance_3;Envelope_2;Envelope_3;Filtered_kernel;Generator;Geomview;GraphicsView;HalfedgeDS;Hash_map;Homogeneous_kernel;Installation;Interpolation;Intersections_2;Intersections_3;Interval_skip_list;Interval_support;Inventor;Jet_fitting_3;Kernel_23;Kernel_d;Kinetic_data_structures;LEDA;Largest_empty_rect_2;Linear_cell_complex;MacOSX;Maintenance;Manual;Manual_tools;Matrix_search;Mesh_2;Mesh_3;Min_annulus_d;Min_circle_2;Min_ellipse_2;Min_quadrilateral_2;Min_sphere_d;Min_sphere_of_spheres_d;Minkowski_sum_2;Minkowski_sum_3;Modifier;Modular_arithmetic;Nef_2;Nef_3;Nef_S2;Number_types;OpenNL;Optimisation_basic;Optimisation_doc;Partition_2;Periodic_3_triangulation_3;Point_set_2;Point_set_processing_3;Polygon;Polyhedron;Polyhedron_IO;Polynomial;Polytope_distance_d;Principal_component_analysis;Profiling_tools;QP_solver;Qt_widget;Random_numbers;Ridges_3;Robustness;STL_Extension;Scripts;SearchStructures;Segment_Delaunay_graph_2;Skin_surface_3;Snap_rounding_2;Solver_interfa
用户3519280
2023/07/08
1930
(二十三)定义多个泛型
有的时候我们可能需要定义多个泛型参数,比如说函数的参数他们的类型不同,或者说参数的类型和返回值的类型不同
老怪兽
2023/02/22
2950
Java 编译器代码定义的 Token 保留字
Java 编译器代码定义的 Token 保留字 注释类型 public static enum CommentStyle { LINE, BLOCK, JAVADOC; private CommentStyle() { } } Java语言保留字: public static enum TokenKind implements Formattable, Filter<To
一个会写诗的程序员
2018/08/17
7710
《Effective Modern C++》读书笔记
Note:为避免各种侵权问题,本文并没有复制原书任意文字(代码除外,作者已经声明代码可以被使用)。需要原书完整中文翻译的读者请等待官方译本的发布。
bear_fish
2018/09/19
1.9K0
使用方舟编译器检查Fastjson OOM问题
通过介入编译期间进行安全检查是类似于Facebook infer类的产品,为什么要这么做呢?源代码安全检查工具粗略分为两个大的流派,一个是类似于coverity,需要编译,厂家集成实现了cov-build这样的编译工具;另一个是checkmarx直接分析语法树进行检查,再上层的例如p3c、pmd、sonarcube都是基于字节码、数据流的规范检查,执行编译有助于将代码规范起来,缓解路径不可达问题降低误报,SAST不能避免软件工程的莱斯定理(Rice’s Theorem)在图灵机的应用:我们可以把任意程序看成一个从输入到输出上的部分函数(Partial Function),该函数描述了程序的行为,关于程序行为的任何非平凡属性,都不存在可以检查该属性的通用算法,误报是允许在得不到精确值的时候,给出近似答案,这个答案就是一定比例的误报或者漏报。本文即尝试类似RoboVM、SVF使用LLVM的思路进行数据流和控制流的软件错误检测。扩展知识可以看下北大熊英飞教授的软件分析技术(Software Analysis)公开课件https://xiongyingfei.github.io/SA/2018/main.htm。
安全乐观主义
2019/11/20
8240
C++箴言:理解typename的两个含义
在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?       相信学习C++的人对class这个关键字都非常明白,
阳光岛主
2019/02/19
4.7K0
C++ typename的双重含义
这两种写法并没有任何区别,都是标记T是模板类型参数,可以是任何类型,包括用户自定义类型或是语言的基本类型。虽然而这在用于模板类型参数申明时的作用完全相同,但是仍建议使用typename,因为typename的字面意义即表示类型名称,更加符合其语义。而class则多用于类的申明,而非模板类型参数。当然,如果原有项目中均使用class,那么请与原有项目风格保持一致。
恋喵大鲤鱼
2018/09/27
1.3K0
CMake搭建编译环境总结
  交叉编译算是每个嵌入式开发者都会经历的一道坎吧,通俗的描述就是搭建Arm板代码编译环境,让代码能够在Arm板子上跑起来。常用到的编译工具为Makefile和CMake,本篇记录下CMake的常用技巧。
开源519
2022/12/01
2.5K0
eRPC:修改erpcgen代码生成模板增加#if#endif宏定义,解决多个eRPC服务共用时类型重复定义问题
最近在用eRPC(https://github.com/EmbeddedRPC/erpc)实现通信时,发现一个问题, 当有两个以上eRPC服务共用时会存在类型重定义问题,比如binary_t会在每个eRPC服务的头文件中定义一次。 解决这个问题只能修改erpcgen的模板,还好,eRPC模板代码结构比较清晰,很快就找到生成eRPC服务接口头文件的位置(${ERPC_ROOT}/erpcgen/src/templates/c_common_header.template) 只要添加类似如下的宏定义就可以解决问题
10km
2020/10/29
8080
gitlab-ci.yml 自定义多个stages. CI/CD 自定义多个阶段的执行顺序
使用全局变量stages定义多个stage. 会按照顺序执行. stages: - build - test - publish - deploy - deploy-notify build: stage: build script: - echo 'installing node_modul' only: - master test-cover: stage: test script: - echo 'test-cover' test-v:
拿我格子衫来
2022/01/24
1.1K0
gitlab-ci.yml 自定义多个stages. CI/CD 自定义多个阶段的执行顺序
cmake:msvc编译第三方库时使用/MT静态库连接c/c++ runtime library
本文主要介绍了在CMakeLists.txt中指定使用静态库/MT还是动态库/MD,以及如何在MSVC的环境下编译C/C++项目。通过在CMakeLists.txt中设置CMAKE_C_FLAGS、CMAKE_CXX_FLAGS变量,可以控制编译器使用静态库还是动态库。同时,通过使用CMAKE_USER_MAKE_RULES_OVERRIDE变量,可以在外部控制/MD和/MT选项,避免在多个项目之间重复设置CMakeLists.txt。
10km
2018/01/03
3.9K0
如何从多个角度分析问题?
拆解其实就是做加法,A=维度1+维度2+维度3+...。比如上面的例子,老妈把优秀拆解成:1)个子高 2)家庭背景好 3)长的好看。也就是优秀=个子高(维度1)+家庭背景好(维度2)+长的好看(维度3)。
猴子聊数据分析
2019/08/15
2K0
如何定义多个context:property-placeholder配置
原因:Spring 只会加载第一个context:property-placeholder配置后面的文件将不会再次进行加载,所以导致后面的文件读取不到
全栈程序员站长
2022/09/14
3770

相似问题

C& CXX编译器标识未知

14

在opencv ios中检测C& CXX编译器错误

10

CXX Cmake编译器未知

11

C& c++默认全局变量链接、多个声明和定义问题

47

CXX编译器标识未知

1525
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档