[ c++] cmake 编译时 undefined reference to `std::cout' 错误的解决方案

cmake ..  和 make 之后,出现如下错误

Linking CXX executable ../../../bin/ModuleTest
CMakeFiles/ModuleTest.dir/tmp.cpp.o: In function `main‘:
/ModuleTest/tmp.cpp:4: undefined reference to `std::cout‘

tmp.cpp 内容如下

1 #include <iostream>
2
3 int main(){
4     std::cout << " seconds since the Epoch\n";
5     return 0;
6 }

解决方法:

在 CMakeLists.txt 中添加如下命令,指定 g++ 为编译器。

SET(CMAKE_CXX_COMPILER /usr/bin/g++)

用 gcc 直接编译会出现同样的错误,用 g++直接编译则不会。

[ c++] cmake 编译时 undefined reference to `std::cout' 错误的解决方案

时间: 2024-08-01 06:23:54

[ c++] cmake 编译时 undefined reference to `std::cout' 错误的解决方案的相关文章

在codeblocks 下,C++编译不成功一直出现“undefined reference to `std::cout&#39;|

自己搞了好久才知道,编辑c++,要用g++ 希望对大家有帮助 在codeblocks 下,C++编译不成功一直出现"undefined reference to `std::cout'|

devc++编译时 undefined reference to `__imp_WSAStartup&#39;

socket编程时遇到的问题: devc++编译时 undefined reference to `__imp_WSAStartup' 原文地址:https://www.cnblogs.com/qy-blogs/p/9287145.html

Windows编译OpenCV4Android解决undefined reference to std错误

OpenCV4Android支持三种使用方式1.Java层调用2.NDK调用动态库(方便,但是会包含整个.so库)3.NDK调用静态库(灵活,比如没有用到机器学习模块,libopencv_ml.a里的代码是不会打包到动态库里的)通过链接静态库的方式使用OpenCV4Android,CMAKE配置如下 #############################prepare for using of opencv static library#################### #first

ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()&#39;问题

网上的解释是:“ you need to add -lstdc++, or use 'g++' rather than 'gcc' as your driver program.”,也就是说如果想要使用g++编译程序的话,那么链接时需要添加“-Istdc++”. 我试了一下 , 在链接时加上"-Istdc++",就没有问题了. 关于g++,让我想起了,在ubuntu下一开始安装完code::blocks的时候,提示需要安装g++.原来code::blocks内置编译器使用的是g++,但

undefined reference to `std::__cxx11::basic_string&lt;char,

centos上编译报错,部分信息如下: /usr/local/lib/libprotobuf.so.9: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_first_of(char, unsigned long) [email protected]_3.4.21' /usr/local/lib/lib

在做nios ii uart232 实验时出现undefined reference to `fclose&#39;等错误。

程序如下 #include<stdio.h> #include<string.h> #include "system.h" int main () { char* msg = "Detected the character 't'.\n"; FILE* fp; char prompt = 0; printf("Please Enter some characters: \n"); fp = fopen ("/de

arduino开发过程中编译问题undefined reference to `setup&#39;的解决办法

今天遇到这个问题,搜了很久也没有找到真正的答案. 后来灵光乍现,原来是出现了相同的目标文件,既有maze.h和maze.cpp,又有maze.ino,于是编译连接的时候就会出现ld错误了. 将maze.ino重命名为任意不重复的名字,重新编译,问题解决! yeah! arduino开发过程中编译问题undefined reference to `setup'的解决办法

Android NDK编译之undefined reference to &#39;JNI_CreateJavaVM&#39;

利用Android NDK编译动态库,在C文件中调用了两个JNI函数:JNI_GetDefaultJavaVMInitArgs和JNI_CreateJavaVM.编译的时候始终报以下错误: XXX: undefined reference to `JNI_GetDefaultJavaVMInitArgs' XXX: undefined reference to `JNI_CreateJavaVM' 看了网上很多人的解答,基本都是添加libjvm.so或者libnativehelper库.尝试下,

undefined reference to `clock_gettime&#39; 链接错误问题解决

当你编译程序时, 碰到下面的链接错误, timeval.c:(.text+0x6f): undefined reference to `clock_gettime' 则你只需要在你的Makefile文件里面添加    -lrt  ,重新编译即可. undefined reference to `clock_gettime' 链接错误问题解决