繁体   English   中英

我可以从终端进行编译时在Linux&Eclipse中进行编译

[英]Compiling in Linux&Eclipse when I can compile from terminal

因此,我终于能够下载旧版本的Webkit并使用经典版本在终端中对其进行编译(修复了100个错误之后):

./configure
make

现在既然有了程序的源代码,我的目标就是调试它(在C ++代码和内容上设置断点)。 由于我是第一次使用Linux,因此我下载了eclipse以具有直观的GUI。 但是,当我导入项目时,我似乎无法编译它。 包含错误无处不在,无论尝试多少,我都无法解决。

在终端中可以在eclipse中编译它吗? 另外,还有另一种方法可以调试程序吗?

非常感谢!

好的,我设法编译并链接了代码,以便可以使用如下所示的符号调试信息将其加载到gdb中:

  1. 我下载并提取了http://webkitgtk.org/releases/webkitgtk-2.0.4.tar.xz
  2. 我运行./configure并手动进行了apt-get install (或者在下载并编译了ICU的情况下)所有必需的依赖项。
  3. 然后,我对GNUmakefile进行了以下修改,将-ggdb添加到每个可变的global_cppflags global_cflagsglobal_cxxflags (为了加快构建速度,我从global_cxxflags删除了所有警告标志,不确定是否会有所作为。您可能应该恢复这些(如果您要针对此版本进行开发)

GNUmakefile

global_cppflags := -ggdb -fno-exceptions -DBUILDING_CAIRO__ -DBUILDING_GTK__ \
         $(am__append_1) $(am__append_2)
#global_cppflags := -Wall -W -Wcast-align -Wchar-subscripts \
#       -Wreturn-type -Wformat -Wformat-security -Wno-format-y2k \
#       -Wundef -Wmissing-format-attribute -Wpointer-arith \
#       -Wwrite-strings -Wno-unused-parameter -Wno-parentheses \
#       -fno-exceptions -DBUILDING_CAIRO__ -DBUILDING_GTK__ \
#       $(am__append_1) $(am__append_2)
global_cflags := -ggdb
global_cxxflags := -ggdb -fno-rtti

然后,要测试调试符号是否包含在编译器和链接器输出中,我按以下方式运行了gdb

~/dev/webkitgtk-2.0.4$ gdb ./Programs/MiniBrowser -d ./Tools/MiniBrowser/gtk/ 
GNU gdb (Ubuntu 7.8-1ubuntu4) 7.8.0.20141001-cvs
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./Programs/MiniBrowser...done.
(gdb) l
188                                                         "WebKitSettings writable properties for default WebKitWebView",
189                                                         "WebKitSettings properties",
190                                                         webkitSettings,
191                                                         NULL);
192     g_option_group_add_entries(webSettingsGroup, optionEntries);
193     g_free(optionEntries);
194 
195     /* Option context takes ownership of the group. */
196     g_option_context_add_group(context, webSettingsGroup);
197 
(gdb) l
198     return TRUE;
199 }
200 
201 int main(int argc, char *argv[])
202 {
203     gtk_init(&argc, &argv);
204 
205     GOptionContext *context = g_option_context_new(NULL);
206     g_option_context_add_main_entries(context, commandLineOptions, 0);
207     g_option_context_add_group(context, gtk_get_option_group(TRUE));
(gdb) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM