Tôi có mảnh mã sau đây:Tại sao điều này cho tôi "Các tham chiếu không xác định đối với các hàm tạo và các hàm hủy"?
Leomedia.h
#include "MusicMetaDatter.h"
#ifndef LEOMEDIA_H
#define LEOMEDIA_H
namespace Leomedia
{
typedef enum
{
read,
write
} FileMode;
}
#endif // LEOMEDIA_H
MusicMetaDatter.h
#ifndef MUSICMETADATTER_H
#define MUSICMETADATTER_H
#include "Leomedia.h"
#include <string>
/**
* METADATTER
* @Version 1.0.0a
* @Author: Sergio Andrés Ibañez (Leonnears)
* @Twitter: Leonnears
* @Package: Leomedia
*/
namespace Leomedia
{
typedef enum
{
mp3,
m4a,
flac,
ape,
wavPack,
aiff,
wav,
ogg,
tta
} AudioFileType;
class MusicMetaDatter
{
public:
MusicMetaDatter(std::string fileName, AudioFileType type, FileMode mode);
virtual ~MusicMetaDatter();
private:
std::string md_fileName;
AudioFileType md_fileType;
FileMode md_fileMode;
};
}
#endif // MUSICMETADATTER_H
MusicMetaDatter.cpp
#include "MusicMetaDatter.h"
#include <string>
Leomedia::MusicMetaDatter::MusicMetaDatter(std::string fileName, AudioFileType type, FileMode mode)
{
this -> md_fileName = fileName;
this -> md_fileType = type;
this -> md_fileMode = mode;
}
Leomedia::MusicMetaDatter::~MusicMetaDatter()
{
//dtor
}
MetaDatterTest.cpp
#include <iostream>
#include "Leomedia.h"
#include <string>
using namespace std;
int main()
{
Leomedia::MusicMetaDatter meta("troll", Leomedia::mp3, Leomedia::read);
return 0;
}
Khi tôi biên dịch MetaDatterTest tôi nhận được các lỗi sau đây: tài liệu tham khảo
không xác định để Leomedia :: MusicMetaDatter :: MusicMetaDatter (std :: string, Leomedia :: AudioFileType, Leomedia :: chế độ File)' tài liệu tham khảo không xác định để Leomedia :: MusicMetaDatter :: ~ MusicMetaDatter() ' tham chiếu không xác định đến Leomedia :: MusicMetaDatter :: ~ MusicMetaDatter()'
Tất cả các tệp nằm trong cùng một thư mục. Tôi đang sử dụng mingw 4.4.1
Ai đó có thể giúp tôi với điều này? Nó đã chết lặng tôi ngoài sự hiểu biết.
tôi biên dịch bằng cách nhấn F9 trực tiếp với Code :: Blocks. Làm cách nào để kiểm tra xem lệnh nào thực thi chính xác? –
Không có ý tưởng, có lẽ bạn cần phải chắc chắn rằng cả hai tập tin được thêm vào dự án? Tôi chưa bao giờ sử dụng nó ... –
Vâng, đúng vậy.Tôi đã không làm việc với họ trong một dự án, nhưng tôi đã thực hiện một dự án, thêm chúng vào đó và giải quyết vấn đề. Cảm ơn sự giúp đỡ của bạn. –