我正在探索从bash编译/运行简单的C++程序(在Ubuntu12.04中)。作为Linux的新手,我实际上有几个问题。
首先,Ubuntu/Linux似乎没有像.abc那样以格式显示文件类型。我知道操作系统不需要这个扩展名就能知道文件的类型,但是对于人类用户来说,能够一目了然地读取这些信息不是更方便吗?我怎么知道给定文件的类型?
第二(也是相关的),如果Linux似乎不关心用类型信息扩展文件名,为什么当我在gedit中创建一个简单的C++程序并只调用它'test‘时,编译不起作用(使用g++编译器顺便说一下),但是当我将文件命名为'test.cpp’时,它确实有效吗?
Lin
我试图在基于ARM-linux的系统上编译OPENCV。为此,我创建了一个带有以下选项的工具链cmake文件
SET (CMAKE_SYSTEM_NAME Linux)
SET (CMAKE_SYSTEM_VERSION 1)
SET (CMAKE_SYSTEM_PROCESSOR arm)
SET (CMAKE_C_COMPILER "/usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-gcc")
SET (CMAKE_CXX_COMPILER "/usr/local/arm/4.3.1-eabi-armv6/usr/
我正在寻找一种在C++中为多个平台组织头文件的模式。
我有一个可以在Linux和Win32下编译的包装器.h文件。
这是我能做的最好的事了吗?
// defs.h
#if defined(WIN32)
#include <win32/defs.h>
#elif defined(LINUX)
#include <linux/defs.h>
#else
#error "Unable to determine OS or current OS is not supported!"
#endif
// Common stuff below here...
我最近下载了链接中提到的代码。我的GCC版本是4.1.2。在console中开始出现以下错误之前,编译过程至少进行了一个小时。
LLVM支持声明我需要使用gcc44-c++,这在我们的机器中是不可用的:
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
# yum install gcc44-c++
Loaded plugins: security
ppsd-nonprod-base
我在编译c++程序时看到下面的消息。
test.cpp: In function ‘int main()’:
test.cpp:950: error: no match for ‘operator<<’ in ‘std::cout << d->Derived::print()’
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/ostream:108: note: candidates are: std::basic_ostream<_CharT, _Traits&
我使用的是Windows7-32位操作系统。
我希望将我的简单C++源代码编译成所有OSes和体系结构的可执行文件。
我想从我的操作系统编译下面的操作系统。
Windows 32
Windows 64
Linux 32
Linux 64
OSX 32
OSX 64
有可能吗?
注意:--我需要用Win7 32位来编译所有OSes的C++。
我不小心删除了包含/usr/include/c++中的所有C++头文件的文件夹。我怎样才能恢复
UPDATE我在/usr/include/c++中得到了头文件。然而,即使是一个简单的C++ Hello程序也给了我这个错误
In file included from /usr/include/c++/4.6/bits/localefwd.h:42:0,
from /usr/include/c++/4.6/ios:42,
from /usr/include/c++/4.6/ostream:40,
from /usr/in
通过使用gcc和gdb作为调试器,我正在学习如何开发没有IDE的C++程序。到目前为止,我已经在终端中使用emacs开发了Python,但是我不想使用C++,因为我被makefile吓倒了,等等。现在我在Linux上使用我的C++程序,我想知道C++如何处理目录。
我的目录结构如下所示
Parent
/ \
Data Folder Program Dir
| |
407 subdirectories <program files>