मुझे यह त्रुटि मिलती है, लेकिन मुझे नहीं पता कि इसे कैसे ठीक किया जाए।त्रुटि को हल करने के लिए कैसे करें LNK2019: अनसुलझा बाहरी प्रतीक - समारोह?
मैं दृश्य स्टूडियो 2013 का उपयोग कर रहा मैं समाधान नाम MyProjectTest यह मेरा परीक्षण समाधान की संरचना है बनाया:
- function.h
#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;
}
मैं अभी शुरुआत कर रहा हूँ; यह एक साधारण कार्यक्रम है और यह बिना त्रुटि के चलता है। मैं इंटरनेट में पढ़ सकते हैं और इकाई परीक्षण में रुचि हो गया, तो मैं एक परीक्षण प्रोजेक्ट बनाया:
फ़ाइल> नया> परियोजना ...> स्थापित> टेम्पलेट> विजुअल C++> टेस्ट> मूल निवासी यूनिट टेस्ट परियोजना>
नाम: 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 फ़ाइल को हटाने का प्रयास किया और मैंने घोषणा को परिभाषा के साथ बदल दिया, और यह चला गया। लेकिन एक ही फाइल में घोषणा और परिभाषा दोनों लिखना अनुशंसित नहीं है। मैं ऐसा करने के बिना इस त्रुटि को कैसे ठीक कर सकता हूं? क्या मुझे फ़ाइल unittest.cpp में #include "../MyProjectTest/function.cpp"
के साथ प्रतिस्थापित करना चाहिए? (। मैं अंग्रेजी में अच्छा नहीं कर रहा हूँ बहुत बहुत धन्यवाद)
संभावित डुप्लिकेट [एक अनिर्धारित संदर्भ/अनसुलझा बाहरी प्रतीक त्रुटि क्या है और मैं इसे कैसे ठीक कर सकता हूं?] (Http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved- बाहरी-प्रतीक-त्रुटि-और-कैसे-करें-i-fix) – WhozCraig
** BE CAREFUL ** एक * विंडोज * वातावरण में, स्थिर पुस्तकालयों में '.LIB' फ़ाइल एक्सटेंशन होता है। चीजों को जटिल बनाने के लिए ... गतिशील लिंक पुस्तकालय (यानी '* डीएलएल') में एक साथ * आयात लाइब्रेरी हो सकती है * जिसमें' .LIB' फ़ाइल एक्सटेंशन भी हो। यह आयात पुस्तकालय '* डीएलएल' द्वारा प्रदान की गई सभी उपहारों को सूचीबद्ध करता है। अधिक जानकारी के लिए, कृपया पढ़ें: [शुरुआती गाइड टू लिंकर्स] (http://www.lurklurk.org/linkers/linkers.html) – Pressacco
उसे सावधान क्यों होना चाहिए ?? –