ubuntun下安装codeblocks后无法启动

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
maple412
帖子: 45
注册时间: 2017-11-25 22:36

ubuntun下安装codeblocks后无法启动

#1

帖子 maple412 » 2018-05-10 21:28

采用apt-get install codeblocks, 安装都一切正常。但是点击桌面上的codeblocks图标的时候。会显示正在启动,然后过几秒后图标就消失了。无法正常启动。请看下遇到过类似问题没有
头像
astolia
论坛版主
帖子: 6399
注册时间: 2008-09-18 13:11

Re: ubuntun下安装codeblocks后无法启动

#2

帖子 astolia » 2018-05-11 0:31

在命令行下运行codeblocks看出错信息。
maple412
帖子: 45
注册时间: 2017-11-25 22:36

Re: ubuntun下安装codeblocks后无法启动

#3

帖子 maple412 » 2018-05-11 21:37

root@zhf-maple:/home/zhf/fiddler# codeblocks
codeblocks: symbol lookup error: codeblocks: undefined symbol: _ZN24IncrementalSelectListDlgD1Ev
头像
astolia
论坛版主
帖子: 6399
注册时间: 2008-09-18 13:11

Re: ubuntun下安装codeblocks后无法启动

#4

帖子 astolia » 2018-05-12 20:17

你系统是哪个版本的,是全新安装还是从低版本升级上来的?有没有用过相关的ppa?
记得在以前某个版本中碰到过这样的问题,你运行一下下面的命令看看结果

代码: 全选

ldd `which codeblocks` | grep libcodeblocks
dpkg-query -l '*codeblocks*' | grep ii
maple412
帖子: 45
注册时间: 2017-11-25 22:36

Re: ubuntun下安装codeblocks后无法启动

#5

帖子 maple412 » 2018-05-13 22:02

找到原因了。原因是之前手动安装过17.12的source文件。卸载掉17.12-1相关的文件后重新安装就好了
root@zhf-maple:/home/zhf/fiddler# ldd 'which codeblocks' | grep libcodeblocks
ldd: ./which codeblocks: 没有那个文件或目录
root@zhf-maple:/home/zhf/fiddler# dpkg-query -l '*codeblocks*' | grep ii
ii codeblocks 16.01+dfsg-2.1 amd64 Code::Blocks integrated development environment (IDE)
ii codeblocks-common 16.01+dfsg-2.1 all common files for Code::Blocks IDE
ii codeblocks-contrib-common 17.12-1 all common files for the contrib plugins for Code::Blocks IDE
ii codeblocks-headers 17.12-1 all Code::Blocks development headers (SDK)
ii codeblocks-libwxcontrib0 17.12-1 amd64 Code::Blocks shared libraries for wxContribItems
ii codeblocks-wxcontrib-dev 17.12-1 amd64 Code::Blocks development libraries for wxContribItems
ii codeblocks-wxcontrib-headers 17.12-1 all Code::Blocks development headers for wxContribItems
ii libcodeblocks0 17.12-1 amd64 Code::Blocks shared libraries
maple412
帖子: 45
注册时间: 2017-11-25 22:36

Re: ubuntun下安装codeblocks后无法启动

#6

帖子 maple412 » 2018-05-13 22:07

但是在16.10版本下有个问题。
main.c文件如下
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
#include "func1.h"


int main()
{
print_info();
return 0;
}
func1.h
#ifndef FUNC1_H_INCLUDED
#define FUNC1_H_INCLUDED


extern void print_info();

#endif // FUNC1_H_INCLUDED

chapter8.c中的代码如下:
void print_info(){
printf("error");
}
编译的时候提示print_info未定义。如果在main.c中修改为#include "chapter8.c"就好了。应该是没把.h文件链接进来。但是同样的设置在windows下是正常工作的。有遇到过类似情况么

-------------- Build: Debug in linux_c (compiler: GNU GCC Compiler)---------------

gcc -Wall -g -c /home/zhf/codeblocks_prj/linux_c/main.c -o obj/Debug/main.o
g++ -o bin/Debug/linux_c obj/Debug/main.o
obj/Debug/main.o:在函数‘main’中:
/home/zhf/codeblocks_prj/linux_c/main.c:20:对‘print_info’未定义的引用
collect2: error: ld returned 1 exit status
头像
astolia
论坛版主
帖子: 6399
注册时间: 2008-09-18 13:11

Re: ubuntun下安装codeblocks后无法启动

#7

帖子 astolia » 2018-05-14 0:01

maple412 写了:找到原因了。原因是之前手动安装过17.12的source文件。卸载掉17.12-1相关的文件后重新安装就好了
root@zhf-maple:/home/zhf/fiddler# ldd 'which codeblocks' | grep libcodeblocks
ldd: ./which codeblocks: 没有那个文件或目录
唉,你再仔细看看,我给你写的和你输入的是同一个命令吗?
maple412 写了:应该是没把.h文件链接进来。
这句话显示出你对编译和链接的过程,以及.h头文件的作用都半懂不懂。网上找找相关资料学学吧


至于那个错误,检查一下是否把chapter8.c加入到当前工程里了,而且当前构建方式(debug或release)里也设置了需要编译。如果不知道怎么看的话,把.cbp工程文件的内容发上来
maple412
帖子: 45
注册时间: 2017-11-25 22:36

Re: ubuntun下安装codeblocks后无法启动

#8

帖子 maple412 » 2018-05-14 20:47

cbp文件内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="linux_c" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="bin/Debug/linux_c" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug/" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
</Compiler>
</Target>
<Target title="Release">
<Option output="bin/Release/linux_c" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release/" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-O2" />
</Compiler>
<Linker>
<Add option="-s" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
</Compiler>
<Unit filename="chapter8.c">
<Option compilerVar="CC" />
<Option target="<{~None~}>" />
</Unit>
<Unit filename="func.h" />
<Unit filename="func1.h" />
<Unit filename="main.c">
<Option compilerVar="CC" />
</Unit>
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>
头像
astolia
论坛版主
帖子: 6399
注册时间: 2008-09-18 13:11

Re: ubuntun下安装codeblocks后无法启动

#9

帖子 astolia » 2018-05-15 15:46

你看,虽然chapter8.c包含在了工程文件里,但它的target属性是None,也就是无论debug还是release都不编译,自然在链接时就会找不到print_info。
直接把<Option target="<{~None~}>" />这行删掉
maple412
帖子: 45
注册时间: 2017-11-25 22:36

Re: ubuntun下安装codeblocks后无法启动

#10

帖子 maple412 » 2018-05-16 20:22

多谢,找到原因了,原来是在新建的时候没有选择debug.重新建立工程,选择debug和release后就可以正常工作了
回复