簡體   English   中英

如何在C中將另一個文件中的函數調用為主函數?

[英]How to call a function from another file into main function in c?

我正在使用qt並創建了ac項目。 我已經創建了兩個文件,一個頭文件和一個源文件。 我已將函數聲明到頭文件中。 這樣我就可以從main函數調用它了。 但是,當我編譯並運行時,出現“未定義引用”錯誤。 如何解決這個問題? 我正在使用Qt 5.5 IDE。

我的代碼:

頭文件Chapter_1.h

#ifndef CHAPTER_1_H
#define CHAPTER_1_H

//include all header files
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

/* function declaration */
int sum(int x, int y);

#endif // CHAPTER_1_H

源文件

//include header files

#include "chapter_1.h"

int sum(int x, int y)
{
    int result = x+y;

    return result;
}

主文件:

#include "chapter_1.h" 

int main()
{
    sum(23, 23);

    return 0;
}

這不是編譯器錯誤。 這是一個鏈接器錯誤。 您只需要將兩個源文件(main.cpp和Chapter1.cpp)都包含到您的項目中即可。

我解決了問題。 問題是,文件創建為.cpp。 現在,我將其更改為.c,但它沒有用。 謝謝大家。

您必須告訴qmake哪些是要用於生成程序的源文件。 在項目文件( *.pro )中定義了幾個變量,負責這些信息和其他信息。 SOURCES定義要使用的源文件HEADERS您猜到了標題。

HEADERS = chapter_1.h
SOURCES = main.cpp chapter_1.cpp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM