error LNK2028 & error LNK2019
WordStatProcessor.h
- C/C++ code
#pragma once#include <string>#include <iostream>#include <fstream>namespace WordStat { class WordStatProcessor { public: void process(); private: };}WordStatProcessor.cpp
- C/C++ code
#include "stdafx.h"#include "WordStatProcessor.h"#include <iostream>#include <fstream>#include <string>void process(){ std::ifstream myfile ("c:/example.txt"); std::string line; if (myfile.is_open()){ while (! myfile.eof() ){ std::getline (myfile,line); } myfile.close(); }}Form1.h
- C/C++ code
#pragma once#include "WordStatProcessor.h"namespace WordStat { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); } protected: ~Form1() { if (components) { delete components; } } private: System::Windows::Forms::GroupBox^ groupBox1; protected: private: System::Windows::Forms::Label^ label1; private: System::Windows::Forms::GroupBox^ groupBox2; private: System::Windows::Forms::GroupBox^ groupBox3; private: System::Windows::Forms::ComboBox^ folderDir; private: System::Windows::Forms::Button^ button2; private: System::Windows::Forms::Label^ currentState; private: System::Windows::Forms::Label^ label2; private: System::Windows::Forms::FolderBrowserDialog^ folderBrowserDialog; private: System::ComponentModel::Container ^components;#pragma region Windows Form Designer generated code void InitializeComponent(void) { .... }#pragma endregionprivate: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { System::Windows::Forms::DialogResult result = this->folderBrowserDialog->ShowDialog(); if(result == System::Windows::Forms::DialogResult::OK){ this->folderDir->Text = this->folderBrowserDialog->SelectedPath; } }private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { WordStat::WordStatProcessor processor; processor.process(); }};}错误
1>------ Build started: Project: WordStat, Configuration: Debug Win32 ------
1>Compiling...
1>WordStatProcessor.cpp
1>WordStat.cpp
1>Generating Code...
1>Linking...
1>WordStat.obj : error LNK2028: unresolved token (0A000015) "public: void __clrcall WordStat::WordStatProcessor::process(void)" (?process@WordStatProcessor@WordStat@@$$FQAMXXZ) referenced in function "private: void __clrcall WordStat::Form1::button2_Click(class System::Object ^,class System::EventArgs ^)" (?button2_Click@Form1@WordStat@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)
1>WordStat.obj : error LNK2019: unresolved external symbol "public: void __clrcall WordStat::WordStatProcessor::process(void)" (?process@WordStatProcessor@WordStat@@$$FQAMXXZ) referenced in function "private: void __clrcall WordStat::Form1::button2_Click(class System::Object ^,class System::EventArgs ^)" (?button2_Click@Form1@WordStat@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)
1>D:\Projects\VisualStudio\WordStat\Debug\WordStat.exe : fatal error LNK1120: 2 unresolved externals
1>Build log was saved at "file://d:\Projects\VisualStudio\WordStat\WordStat\Debug\BuildLog.htm"
1>WordStat - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
迷糊~~~
[解决办法]
namespace WordStat {
class WordStatProcessor {
public:
void process();
private:
};
}
namespace WordStat {
void WordStatProcessor:: process()
{
....
}
}