通过使用gcc和gdb作为调试器,我正在学习如何开发没有IDE的C++程序。到目前为止,我已经在终端中使用emacs开发了Python,但是我不想使用C++,因为我被makefile吓倒了,等等。现在我在Linux上使用我的C++程序,我想知道C++如何处理目录。
我的目录结构如下所示
Parent
/ \
Data Folder Program Dir
| |
407 subdirectories <program files>
最近,我无意中遇到了“在此范围内未声明”的多次错误,如下所示:
/usr/include/c++/9/ext/string_conversions.h:84:25: error: ‘ERANGE’ was not declared in this scope
84 | else if (errno == ERANGE
| ^~~~~~
In file included from /usr/include/c++/9/system_error:39,
from /usr/include
在netbeans中,我创建了一个新文件夹,并在其中添加了头文件。
现在,当我使用以下命令将新创建的文件夹中的头文件包含到另一个文件中时:
#include "folder1/myheaderFile.h"
编译器抱怨它找不到头文件。
错误是:
main.cpp:31:39: fatal error: folder1/myheaderFile.h: No such file or directory
当我想要在我的#include中包含一个文件夹中的头文件时,有什么办法吗?
编辑:我需要为每个文件夹创建一个makefile吗?另一个编辑:
When I right clicke
我正在尝试编译一个包含<iostream>头的简单c++代码。令人惊讶的是,我正面临着我以前从未遇到过的错误。如果删除了<iostream>头,一切都会正常工作。
代码:
#include <iostream>
int main(){
return 0;
}
编译错误:
$ g++ temp.cpp
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h:9:0,
from /usr/include/c++/7/cstdint:4
我安装了libeigen3-dev,以便使用特征3编译程序。当我包含一个文件(如Eigen/Dense )时,当我试图运行g++时,我得到了这个错误
user@office-debian:~/Documents/prog$ g++ src/main.cpp -MMD -std=c++11
In file included from src/main.cpp:9:0:
src/tdefs.h:16:23: fatal error: Eigen/Dense: No such file or directory
compilation terminated.
运行以下行很好:
g++ -I /us
在从gcc-7.1更新到gcc-7.2之后,我收到了很多关于标准库头文件未声明包含的错误。例如
$ bazel build //test:my_test
ERROR: /home/haining/my_project/BUILD:39:1: undeclared inclusion(s) in rule '//test:my_test':
this rule is missing dependency declarations for the following files included by 'test/test_range.cpp':
'/h
使用cmake交叉编译应用程序时,我面临一个问题。我使用外部基于Buildroot的SDK为其中一个项目进行交叉编译。它是基于"aarch64“的,我还有其他基于"arm”的SDK,它们编译时没有任何错误。
使用cmake ../. -DCMAKE_TOOLCHAIN_FILE=[...]/ToolchainFile.cmake编译是成功的,它从SDK和CXX编译器获取正确的路径。但是,当我运行make时,我会得到以下错误:
In file included from /opt/sdk_mmia53.e2c-demo.640/aarch64-buildroot-linux-gn
我对运行64位机器的ubuntu13.04进行了优化,将其交叉编译为32位ARM,并通过开发c/c++代码进行检查,代码正在32位ARM(BBBlack)上成功运行,现在我想要实现的是连接到Xively服务器的更新和从数据流中检索提要/数据点。
因此,我正在考虑使用从西弗利到我的utilise开发环境中使用的c库,它能工作吗?
会有交叉编译问题吗?或都行吗?
下面是我运行>> make -C src CC=arm-linux-eabi-gcc AR=arm-linux-eabi-gcc示例时得到的
make: *** src: No such file or directory.