qt中未定义的引用

时间:2016-07-04 08:46:08

标签: c++ c qt

在qt MainWindow::on_pushButton_clicked();

如果我想从另一个.c文件中调用该函数,我已经添加了.c和.h文件,并且#include它。

但是编译仍然显示失败,它显示:

 undefined reference to `Load_bmp(char const*, int*, int*, int*)

我怎么能解决这个问题,谢谢。 这是我的代码: https://drive.google.com/file/d/0B6RzrpHF18PGd3UtWmEzdTQyLUk/view?usp=sharing

1 个答案:

答案 0 :(得分:2)

,因此使用cpp个扩展名文件。

对于您的情况,最快的方法是将您的bmp.c文件重命名为bmp.cpp,它会神奇地构建。

另一种方法, 必须使用 ,更改界面以指定项目文件的链接,因此:

#ifndef _BMP_H_
#define _BMP_H_

#ifdef __cplusplus
    extern "C" {
    #endif

        unsigned char* Load_bmp(const char *fname_s, int *Height, int *Width, int *Depth);
        int Save_bmp_8bit(const char *fname_t, unsigned char *image_s, int height, int width);
        int Save_bmp_24bit(const char *fname_t, unsigned char *image_s, int height, int width);
        unsigned char * T8bitTo24bit(unsigned char *ima, size_t Height, size_t Width);
        unsigned char * T24bitTo8bit(unsigned char *ima, size_t Height, size_t Width);

    #ifdef __cplusplus
    }
    #endif
#endif