生成可执行文件时找不到文件,但在eclipse c 中运行正常
`File not found` when generating executable but runs ok in Eclipse C++
我正在尝试为我一直在研究的C 脚本生成可执行文件,但正在遇到错误,
ParameterTest.cpp:3:10: fatal error:
'3.04.01_2/include/tesseract/baseapi.h' file not found
#include <3.04.01_2/include/tesseract/baseapi.h>
这很奇怪,因为我可以在Eclipse内部运行脚本。
我在做什么。
- 在Eclipse C 中保存和构建项目
-
g++ ParameterTest.cpp -o output.bin
在命令行
生成output.bin
可执行文件也可以正常工作,当我停止包括库。
这可能与标题文件或库的位置有关?
其他人有这个错误的经验吗?
我是C 开发的新手。
更新
将所有库将所有库复制到目录中,用./...
表示法引用标题,然后尝试创建可执行文件,我遇到了另一个错误。
Undefined symbols for architecture x86_64:
"tesseract::TessBaseAPI::GetUTF8Text()", referenced from:
_main in ParameterTest-a6efcb.o
"tesseract::TessBaseAPI::End()", referenced from:
_main in ParameterTest-a6efcb.o
"tesseract::TessBaseAPI::Init(char const*, char const*, tesseract::OcrEngineMode, char**, int, GenericVector<STRING> const*, GenericVector<STRING> const*, bool)", referenced from:
tesseract::TessBaseAPI::Init(char const*, char const*) in ParameterTest-a6efcb.o
"tesseract::TessBaseAPI::SetImage(Pix*)", referenced from:
_main in ParameterTest-a6efcb.o
"tesseract::TessBaseAPI::TessBaseAPI()", referenced from:
_main in ParameterTest-a6efcb.o
"_pixDestroy", referenced from:
_main in ParameterTest-a6efcb.o
"_pixRead", referenced from:
_main in ParameterTest-a6efcb.o
ld: symbol(s) not found for architecture x86_64
我怀疑这与动态库链接有关。
首先使用" "
而不是< >
尝试周围路径。< >
括号通常用于系统标头," "
引号用于工作目录中的标头。请参阅Angle Bracket&Lt之间的差异;&gt;和双引号"&quot在C 中包括标头文件?
如果不起作用,请尝试将baseapi.h移动到与parametertest.cpp相同的位置,然后将您的include更改为
#include "baseapi.h"
如果可能的话。
更新:
在您的目录树中,您应该看到这样的东西:
/src
| - ParameterTest.cpp
| - baseapi.h
在设法使用G 编译器编译代码后,您想将标题文件移至子目录" subdir":
/src
| - ParameterTest.cpp
| /subdir
| | - baseapi.h
将您的包含更改为:
#include "./subdir/baseapi.h"
如果您想将标题移至与SRC相同级别的目录:
/src
| - ParameterTest.cpp
/include
| - baseapi.h
将您的包含更改为:
#include "../include/baseapi.h"
一段时间后,当您的项目变得更大时,您可能会对每个源文件中更改标头路径感到无聊,只是将一个标头移至另一个目录,而创建makefile
相关文章:
- C++ 运行时链接器错误 (liblog4cpp.so.5) Eclipse
- Eclipse/CDT_C++给出"语义错误_"类型XXX无法解决"。项目运行
- C++ - 调试和运行时 Eclipse 行为不同
- 如何从终端运行用 eclipse 编写的 c++ 程序
- Eclipse 中的 Makefile 项目可以运行,但不能调试,为什么?
- Omnet++(Eclipse IDE?)在运行INET项目时崩溃 - 在opplibs.dll中EXCEPTION_A
- 从 eclipse IDE 运行工作正常,但在从终端运行时终止
- C++程序在 Xcode 中运行,但不是 Eclipse
- 在 Eclipse.It 中运行C++代码时出错,'Your program cannot output..'
- 调试运行时出现奇怪的崩溃程序(Eclipse C++)
- 生成可执行文件时找不到文件,但在eclipse c 中运行正常
- Eclipse 在检查语法时看不到包含文件,但在构建或运行应用程序时会看到
- C 类文件未在Linux OS上运行的Eclipse Mars中构建二进制文件
- 在Eclipse中运行C++代码生成的exe文件时缺少MVCP100D.dll
- Eclipse 不会运行 c++ 项目
- 使用 Eclipse 运行.exe C 代码文件
- Eclipse 运行 - >断点类型 - >无可用
- Eclipse运行上一个程序
- "Cannot execute binary file"在 Ubuntu for Windows 平台上使用 Eclipse 运行编译的 c++ 程序时
- 如何配置替代Eclipse运行配置-适用于LLVM BitCode.bc文件