qt 5.1로 vt2010으로 컴파일 된 정적 라이브러리를 사용할 때 문제가 있습니다. qt5.1을 사용하고 있습니다. vs2010 컴파일러로 /로 컴파일되었습니다.정적 라이브러리를 사용할 때 qt creator qt5.1 vs2010 링커 오류
내 간단한 라이브러리 모양의 소스를 다음과 같이
Lib_Test.h
#pragma once
#include <iostream>
class Lib_Test
{
public:
Lib_Test(void);
~Lib_Test(void);
void HelloTest();
};
Lib_Test.cpp을
이 두 파일은 내 "Lib_Test.lib"로 컴파일됩니다#include "Lib_Test.h"
Lib_Test::Lib_Test(void)
{
}
Lib_Test::~Lib_Test(void)
{
}
void Lib_Test::HelloTest()
{
std::cout << "Hello World!";
}
. 라이브러리 호출을 단순화하기 위해 lib와 헤더 파일을 "C :/Qt /"에 복사했습니다. (A C에 대한 ++ 콘솔 응용 프로그램) 내 Qt는 프로젝트 파일 :
QT += core
QT -= gui
TARGET = Lib_Test_Qt
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += C:/Qt
DEPENDPATH += C:/Qt
win32:CONFIG(release, debug|release): LIBS += -LC:/Qt/
win32:CONFIG(release, debug|release): LIBS += -lLIB_Test
그리고 마지막으로 MAIN.CPP
#include <QCoreApplication>
#include <Lib_Test.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Lib_Test *lb = new Lib_Test();
lb->HelloTest();
return a.exec();
}
나는 다음과 같은 오류 메시지가 Qt는 창조주의 프로젝트를 빌드 할
정적 메서드로 HelloTest 메서드를 선언하고 Lib_Test 인스턴스를 만들지 않고 호출하려고하면 비슷한 오류가 발생합니다. 메시지
main.obj:-1: Fehler:LNK2019: unresolved external symbol "public: static void __cdecl Lib_Test::HelloTest(void)" ([email protected][email protected]@SAXXZ) referenced in function _main
debug\Lib_Test_Qt.exe:-1: Fehler:LNK1120: 1 unresolved externals
내가 무엇이 누락 되었습니까? someboody 도움이 될 수 있습니까? 지금 당황 스럽네요. /.
편집 :
은 내가 msvs2010 콘솔에서 DUMPBIN/SYMBOLS Lib_Test.lib을 시도하고 내가 가진 전부입니다
Microsoft (R) COSS/PE Dumper Version 10.00.40210.01
Copytight (C) Microsoft Corporation. All right reserved
Dump of file Lib_Test.lib
File Type: LIBRARY
는 내 라이브러리는 어떻게 든 비어 있음을 의미 하는가? :/
당신의 qmake를 파일에서
HelloTest를 정적 함수로 호출하려고 할 때 HelloTest를 멤버 함수로 호출하려고 할 때 첫 번째 오류를 두 번 시도했지만 해결되지 않은 외부 기호 오류가 발생합니다. '. 나는 당신의 제안을 내 게시물에 적용 할 것이다. –