2016-10-13 80 views
0

我試圖調試爪子郵件通知插件,我有這樣的代碼:GCC生成的.o文件,而不是可執行

#include "notification_indicator.h" 
#include "notification_prefs.h" 
#include "notification_core.h" 

#include "folder.h" 
#include "common/utils.h" 

#include <messaging-menu.h> 
#include <unity.h> 

#define CLAWS_DESKTOP_FILE "claws-mail.desktop" 

#include <stdio.h> 

void main(void) 
{ 
    GList *cur_mb; 
    gint total_message_count; 


    total_message_count = 0; 
    /* check accounts for new/unread counts */ 
    for(cur_mb = folder_get_list(); cur_mb; cur_mb = cur_mb->next) { 
    Folder *folder = cur_mb->data; 
    NotificationMsgCount count; 

    if(!folder->name) { 
     printf("Notification plugin: Warning: Ignoring unnamed mailbox in indicator applet\n"); 
     continue; 
    } 
    gchar *id = folder->name; 
    notification_core_get_msg_count_of_foldername(folder->name, &count); 
    printf("%s: %d\n", folder->name, count.unread_msgs); 
    } 
} 

,我用這個命令編譯它:

gcc -I/home/kuba/Pobrane/claws-mail-3.13.2/src/ 
    -I/usr/include/gtk-2.0/ 
    -I/usr/include/cairo/ 
    -I/usr/include/pango-1.0 
    -I/usr/lib/i386-linux-gnu/gtk-2.0/include/ 
    -I/usr/include/gdk-pixbuf-2.0/ 
    -I/usr/include/atk-1.0/ 
    -I/home/kuba/Pobrane/claws-mail-3.13.2/src/common 
    -I/home/kuba/Pobrane/claws-mail-3.13.2/src/gtk 
    -I/usr/include/messaging-menu/ 
    -I/usr/include/unity/unity/ 
    -I/usr/include/dee-1.0/ 
    -I/usr/include/libdbusmenu-glib-0.4/ 
    -c `pkg-config --cflags glib-2.0` test.c 

但gcc創建對象文件test.o而不是a.out如何創建可執行文件?我在Xubuntu上運行這個。

+0

rtfm'-c' ...... – user3528438

+0

這就是'-c'選項的要點。它告訴它只是創建一個目標文件,而不是鏈接到一個可執行文件。如果你不想這樣做,不要使用該選項。 – Barmar

回答

1

從命令行中刪除-c選項(它生成目標文件而不是可執行文件)。

man gcc

-c
編譯或彙編源文件,但不鏈接。鏈接階段根本沒有完成。每個源文件的目標文件的最終輸出格式爲 。

相關問題