मुझे यह त्रुटि मिली, लेकिन मुझे नहीं पता कि इसे कैसे ठीक किया जाए।
मैं Visual Studio 2013 का उपयोग कर रहा हूं। मैंने समाधान का नाम MyProjectTest बनाया है यह मेरे परीक्षण समाधान की संरचना है:
- समारोह
#ifndef MY_FUNCTION_H
#define MY_FUNCTION_H
int multiple(int x, int y);
#endif
-function.cpp
#include "function.h"
int multiple(int x, int y){
return x*y;
}
- main.cpp
#include <iostream>
#include <cstdlib>
#include "function.h"
using namespace std;
int main(){
int a, b;
cin >> a >> b;
cout << multiple(a, b) << endl;
system("pause");
return 0;
}
मैं एक नौसिखिया हूं; यह एक सरल कार्यक्रम है और यह बिना किसी त्रुटि के चलता है। मैंने इंटरनेट में पढ़ा और यूनिट टेस्ट में दिलचस्पी पैदा की, इसलिए मैंने एक टेस्ट प्रोजेक्ट बनाया:
फ़ाइल> नया> प्रोजेक्ट ...> इंस्टॉल किया गया> टेम्पलेट> विज़ुअल सी ++> टेस्ट> नेटिव यूनिट टेस्ट प्रोजेक्ट>
नाम: UnitTest1 समाधान: समाधान में जोड़ें तब स्थान वर्तमान खुले समाधान के पथ पर स्वतः-स्विच हो जाता है। यह समाधान की फ़ोल्डर संरचना है:
मैंने केवल फ़ाइल unittest1.cpp को संपादित किया है:
#include "stdafx.h"
#include "CppUnitTest.h"
#include "../MyProjectTest/function.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace UnitTest1
{
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestEqual)
{
Assert::AreEqual(multiple(2, 3), 6);
// TODO: Your test code here
}
};
}
लेकिन मुझे त्रुटि LNK2019 मिलती है: अनसुलझे बाहरी प्रतीक। मुझे पता है कि फ़ंक्शन मल्टीपल का कार्यान्वयन गायब है। मैंने function.cpp फ़ाइल को हटाने की कोशिश की और मैंने घोषणा को परिभाषा के साथ बदल दिया, और यह चलता है। लेकिन एक ही फ़ाइल में घोषणा और परिभाषा दोनों लिखने की सिफारिश नहीं की जाती है। मैं इस त्रुटि को बिना किए कैसे ठीक कर सकता हूं? क्या मुझे #include "../MyProjectTest/function.cpp"
फ़ाइल unittest.cpp से बदलना चाहिए ?
(मैं अंग्रेजी में बहुत अच्छा नहीं हूं। धन्यवाद)
.LIB
फाइल एक्सटेंशन होता है। चीजों को जटिल करने के लिए ... डायनेमिक लिंक लाइब्रेरी (यानी *.DLL
) में एक साथ आयात लाइब्रेरी हो सकती है जिसमें .LIB
फ़ाइल एक्सटेंशन भी होता है । इस आयात पुस्तकालय में दी गई सभी अच्छाइयों को सूचीबद्ध किया गया है *.DLL
। अधिक जानकारी के लिए, कृपया पढ़ें: बिगिनर्स गाइड टू