libquickmail - 컴파일 오류

libquickmail - 컴파일 오류

나는 C++ 프로그램을 통해 일부 메일을 보내려고 합니다.

누군가 libquickmail 라이브러리를 추천했습니다.

하지만 정말 이해가 안 되는 것 같아요. 처음에는 명령줄 전용 lib라고 생각했는데 내 C++ 프로그램에서 사용할 수 있는 방법이 없나요?

나는 내 디렉토리에 Quickmail.h 포함 파일을 넣고 그것을 내 cpp 파일에 포함시켰습니다. 그 외에도 나는 libquickmail-0.dll, libquickmaillight-0.dll 및 Quickmail.exe를 내 폴더에 넣었습니다.

하지만 메인 파일을 컴파일하려고 할 때마다 "smtpsocket.cpp"와 Quickmail.cpp가 누락되었다는 치명적인 오류가 발생합니다. 하지만 어디에도 포함하지 않습니다! 그렇다면 왜 DLL을 사용할 수 없습니까? 이 파일 없이도 컴파일이 가능해야 하지 않나요?

당신의 도움을 주셔서 감사합니다.

아 그리고 그나저나 저는 Linux가 아닌 Windows를 사용하고 있습니다... .a lib 파일이 몇 개 있지만 안타깝게도 Quickmail.lib 또는 이와 유사한 파일은 없습니다.

편집 1:

Pavel Skipenes가 권장한 작업을 수행한 후 다음 오류가 발생합니다.

"libquickmail-0.dll" : fatal error LNK1108: invalid or corrupt file: cannot read at 0x408"

"libquickmaillight-0.dll" : fatal error LNK1108: invalid or corrupt file: cannot read at 0x408"

답변1

다음을 시도해 보세요.
1. 프로젝트 -> 프로젝트 속성 -> 구성 속성 -> 링커 -> 추가 라이브러리 디렉터리로 이동합니다. 이 필드는 링커가 .dll 파일을 찾는 곳입니다. 거기에 .dll 파일의 경로를 추가하세요.
2. 구성에서 "모든 구성"을 선택했는지 확인하십시오. 그렇지 않으면 현재 실행 중인 모드와 다른 모드에서 컴파일하려고 할 때 연결 오류가 발생할 수 있습니다. 그리고 모든 플랫폼도 선택하십시오. 이 두 가지 옵션은 프로젝트 속성 페이지 아래 창 상단에 있습니다.
3. 구성 속성 -> 링커 -> 입력 -> 추가 종속성으로 이동합니다.추가현재 누락된 .dll의 이름입니다. 지금 거기에 있는 것을 삭제하지 않도록 하세요.
4. 프로젝트를 컴파일하고 연결합니다.

오류가 발생하면 출력 창에 오류 메시지가 표시되도록 게시물을 업데이트하세요.

답변2

libquickmail은 MinGW-w64를 사용하여 Windows용으로 구축되었으며 MinGW-w64 .a라이브러리 파일과 함께 제공됩니다.

MSVC를 사용하는 경우 .lib라이브러리 파일이 필요합니다.

다음을 살펴보십시오:https://stackoverflow.com/questions/9360280/how-to-make-a-lib-file-when-have-a-dll-file-and-a-header-file

관련 정보