2013-01-11 5 views
0

저는 Windows7 x64에서 C++ 언어로 작업합니다.LNK 2019 ShellExecuteEx 해결되지 않은 외부 심볼 Qt Creator

ShellExecuteEx 기능을 사용하여 내 웹캠에 마커를 표시 할 때 파이어 폭스 브라우저를 열어 놓은 프로젝트를 만들었습니다.

main_cam.obj:-1: error: LNK2019: riferimento al simbolo esterno [email protected] non risolto nella funzione _main 
debug\cam.exe:-1: error: LNK1120: 1 esterni non risolti 

코드는 다음과 같습니다 :

#include <iostream> 
#include <stdio.h> 
#include <string> // for strings 
#include <iomanip> // for controlling float print precision 
#include <sstream> // string to number conversion 
#include <windows.h> 
#include <ShellAPI.h> 
include [...] 
int main() { 
[...] 
SHELLEXECUTEINFO ShExecInfo = {0}; 
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); 
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS; 
ShExecInfo.hwnd = NULL; 
ShExecInfo.lpVerb = NULL; 
ShExecInfo.lpFile = "firefox.exe"; 
ShExecInfo.lpDirectory = NULL; 
ShExecInfo.nShow = SW_SHOW; 
ShExecInfo.hInstApp = NULL; 
[...] 
if (condition_is_verified) { 

ShExecInfo.lpParameters = (LPCWSTR)"www.google.it"; 
ShellExecuteEx(&ShExecInfo); 
WaitForSingleObject(ShExecInfo.hProcess,INFINITE); 
} 
[...] 
}//end main 

나는 나의 프로젝트는 내가 Qt는 창조주 내 프로젝트를 실행하려고하면, 나는이 오류가 비주얼 스튜디오 2010

하지만, 잘 작동 문제는 shell32.lib라고 생각하십시오. 그렇다면 내 PC에는이 라이브러리가 없습니다. 어떻게 해결할 수 있습니까?

도와 주시겠습니까?

미리 감사드립니다.

+0

당신을 했 이 문제에 대한 해결책을 찾으십시오 –

+0

아니요, 해결책을 찾지 못했습니다 – Cristina1986

답변

1

매우 간단합니다. 프로젝트 프로 파일을 마우스 오른쪽 버튼으로 클릭하고 외부 라이브러리를 추가하십시오. 시스템 라이브러리, 정적 선택하고

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib 
+0

대단히 감사합니다 !! – Cristina1986

0

이이 문제에 대한 내 솔루션이다 shell32.lib의 경로 부여하십시오 : .PRO 파일

을 : INCLUDEPATH + = "C : \ 프로그램 파일 \ 마이크로 소프트의 SDK \ WINDOWS \ v7.0A \ lib 디렉토리 " 내 mainwindow.h에서

(파일 shellAPI.lib의 경로) :

#define NOMINMAX // You have to do this for windows.h to work, else u'll get mistakes with datetime.h   
#include <windows.h> // (without the space)  
#pragma comment(lib, "Shell32.lib")  
#include <ShellAPI.h> // without space also