首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >生成可执行文件时未找到的文件,但在Eclipse C++中运行ok

生成可执行文件时未找到的文件,但在Eclipse C++中运行ok
EN

Stack Overflow用户
提问于 2016-12-10 16:10:17
回答 1查看 66关注 0票数 0

我试图为我一直在处理但遇到错误的C++脚本生成一个可执行文件,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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中很好地运行脚本。

我在做什么。

  1. 在C++中保存和构建项目
  2. 命令行中的g++ ParameterTest.cpp -o output.bin

当我停止包含库时,生成output.bin可执行文件也很好。

这是否与头文件或库的位置有关?

有没有其他人有过这个错误的经验?

我对C++开发非常陌生。

更新

在将所有库复制到目录中,使用./...符号引用标头,然后尝试创建可执行文件后,我会遇到不同的错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

我怀疑这与动态库链接有关。

EN

回答 1

Stack Overflow用户

发布于 2016-12-10 16:30:04

首先,使用" "而不是< >来尝试使用周围的路径。< >括号通常用于系统标头," "引号用于工作目录中的标头。请参阅Difference between angle bracket < > and double quotes " " while including header files in C++?

如果无法工作,请尝试将same api.h移动到与ParameterTest.cpp相同的位置,并将包含更改为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "baseapi.h"

如果可能的话。

更新:

在目录树中,您应该看到如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/src
| - ParameterTest.cpp
| - baseapi.h

在您成功地使用g++编译器编译代码并希望将头文件移动到子目录“subdir”之后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/src
| - ParameterTest.cpp
| /subdir
| | - baseapi.h

将您的包含更改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "./subdir/baseapi.h"

如果要将标题移动到与src相同级别的目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/src
| - ParameterTest.cpp
/include
| - baseapi.h

将您的包含更改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include "../include/baseapi.h"

过了一段时间,当您的项目变得更大时,您可能对更改每个源文件中的头路径感到厌烦,只会将一个头移到另一个目录,创建一个Makefile会更舒服一些。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41081686

复制
相关文章
删除,重命名文件
重命名文件----rename #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> //修改文件名 void REname(char *arr) { int ret=rename("你好世界.txt", arr); if (ret == 0) { printf("修改成功"); } else { printf("修改失败"); } } void test01() { char buf[] = "你好,世界.txt"; REname(b
大忽悠爱学习
2021/03/02
1.7K0
删除,重命名文件
java删除文件,重命名文件
在做项目时,遇到需要对文件做一些删除重命名等操作。基于java语言,保存代码段如下。
全栈程序员站长
2022/08/12
1.8K0
翻译:Perl代码审计:Perl脚本中存在的问题与存在的安全风险
程序设计语言通常不构成安全风险,风险是由程序员带来的。几乎每种语言都有某些缺陷,这些缺陷在某种程度上可能有助于创建不安全的软件,但软件的整体安全性仍然在很大程度上取决于开发者的安全意识。Perl也有安全“陷阱”,然而大多数Perl程序员并不了解这些陷阱。
王驭停
2021/08/27
2.7K0
shell脚本添加用户删除用户删除文件的脚本实现
#/bin/bash # DEBUG=0 ADD=0 DEL=0 RM=0 while [ $# -gt 0 ] do case $1 in -v|-verbose) DEBUG=1 shift ;; -h|--help) #帮助文档 echo "`basename $0` --add LIST --del LIST -h|--help --rm LIST" exit 0 ;; --add
艳艳代码杂货店
2021/10/30
1.6K0
linux根据日期时间批量删除文件(删除N天前的文件)
find /www/wwwroot/shengsi-zhejiang/public/uploads/spot/Array/face -name "*" -mtime +3
炒香菇的书呆子
2023/10/01
2K0
Linux CentOS删除或重命名文件夹和文件的办法
Linux、CentOS操作系统下如何删除和重命名文件夹呢?办法如下: 一、Linux、CentOS下重命名文件和文件夹 mv:move 用移动文件命令就可以了,因为linux系统没有专门的重命名命令。 基本格式: 移动文件:mv 文件名 移动目的地文件名 重命名文件:mv 文件名 修改后的文件名 示例:mv oldfilename newfilename (oldfilename为旧文件名,newfilename为新文件名) 二、Linux、CentOS下删除文件和文件夹 通常情况下,删除文件用:rm 文件名。删除文件夹用:rmdir 文件夹名。 但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢:命令:rm -rf 非空文件夹名; -r 就是向下递归,不管有多少级目录,一并删除。 -f 就是直接强行删除,不作任何提示的意思。 1、删除文件夹命令 rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件、文件夹 2、删除文件命令 rm -f /var/log/httpd/access.log 将会强制删除/var/log/httpd/access.log这个文件 建议使用前做好备份,好像此命令是不会放到回收站的,删了就再也见不着下面的文件了。
红色扛把子
2019/03/16
4.5K0
脚本分享——对fasta文件中的序列进行排序和重命名
hello,hello! 小伙伴们大家下午好,我是小编豆豆,时光飞逝,不知不觉来南京工作已经一年了,从2018年参加工作至今,今年是我工作最快乐的一年,遇到一群志同道合的小伙伴,使我感觉太美好了。
用户1075469
2023/01/11
5.8K1
使用Perl的File::Path模块删除非空文件夹
不过那个只是针对单个的文件,使用unlink方法就可以了(未测试过只读文件删除的情况- -!),那如果要删除指定的一个文件夹,有三种方案:
meteoric
2018/11/15
1.3K0
perl文件句柄_perl文件句柄信号引用
大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。 Jetbrains全系列IDE稳定放心使用
全栈程序员站长
2022/11/02
1.9K0
linux下文件夹的创建、复制、剪切、重命名、清空和删除的命令
在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz 一、目录创建 在/home/wwwroot目录下新建一个sinozzz123的文件夹 mkdir /home/wwwroot/sinozzz123 二、目录复制 1.把/home/wwwroot/sinozzz里面的文件和文件夹等复制到home/wwwroot/sinozzz123目录下 cp -rf /home/wwwroot/sinozzz/* /home/w
菲宇
2022/12/02
3.2K0
Perl 文件操作
perl 语法的变态在下面的代码中体现更甚,一条没头没尾的正则,不知道的还以为是语法错误,实际它是可以正常执行的。
我与梦想有个约会
2023/10/21
1810
Java 删除文件以及文件夹删除不了的问题
今天在编写一个项目,流程是先创建一个临时文件夹存放生成的文件,再经过压缩导出,待导出成功后删除临时文件夹,但是怎么也删除不了,还以为是写的删除方法有问题,找来找去,试了很多方法也删除不了
全栈程序员站长
2022/06/26
2.3K0
Java 删除文件以及文件夹删除不了的问题
效率工具:强大的批量删除文件的脚本
最近打包服务器上的apk包又增多了,每次手动rm操作过于麻烦,于是花了几分钟写了一个可以对指定目录下根据最后修改时间和通配符匹配进行批量删除的脚本。将这个脚本加入crontab中之后,以后就再也不用担心多余的安装包占用磁盘空间了。
技术小黑屋
2018/09/05
1.9K0
【C 语言】文件操作 ( remove 函数删除文件 | rename 函数重命名文件 | 代码示例 )
rename 函数原型 : 将文件由 char *oldname 重命名为 char *newname ;
韩曙亮
2023/03/29
1.7K0
【C 语言】文件操作 ( remove 函数删除文件 | rename 函数重命名文件 | 代码示例 )
[124]linux常用命令(创建|重命名|删除)文件和文件夹
1.首先说一下touch 创建文件的命令,touch可以用于创建二进制文件,用法非常简单。用法:touch+文件名,touch与文件名之间一定要有空格。图中先用之前分享过的命令来查看一下/目录下面有多少文件以及文件的名字。
周小董
2022/04/12
3.7K0
[124]linux常用命令(创建|重命名|删除)文件和文件夹
iOS 创建文件夹,删除文件夹,对文件夹重命名的操作
+ (void)createFolder:(NSString )folderName { NSString imageDir = [NSString stringWithFormat:@"%@/Documents/%@", NSHomeDirectory(),folderName]; NSLog(@"HomeDir: %@",imageDir); BOOL isDir = NO; NSFileManager *fileManager = [NSFileManager defa
大师级码师
2021/10/29
2.8K0
linux重命名文件名_linux 文件重命名
https://blog.csdn.net/weixin_33724570/article/details/91909917
全栈程序员站长
2022/09/30
4.1K0
linux重命名文件名_linux 文件重命名
oracle脚本删除多实例aud文件
for i in $(ps -ef|grep ora_smon|grep -v grep|awk '{print $NF}'|cut -c 10-)
彻底
2023/07/07
5480
linux批量文件重命名命令_shell重命名文件指令
hello_10_2016-03-17.log hello_4_2016-03-17.log hello_8_2016-03-17.log
全栈程序员站长
2022/10/02
10.7K0
使用Python移动和重命名Excel文件
本文将向你展示如何在Python中移动和重命名Excel文件。此方法不仅适用于Excel文件,也适用于任何其他格式的文件,包括.docx、.txt、.pptx,等等。
fanjy
2021/11/17
3.1K0
使用Python移动和重命名Excel文件

相似问题

文件删除和重命名问题

20

Java删除和重命名文件问题

10

用perl重命名文件,文件被删除

40

删除和重命名有问题的文件

24

Perl脚本到ssh并重命名文件

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文