Почему это не ссылается? [дублировать]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему это не ссылается? [дублировать]

Сообщение Anonymous »

Я не могу скомпилировать этот простой проект. Я использую VS -код. < /P>
// SampleApp.cpp

#include
#include "SampleDLL.h"

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HelloWorld();
return 0;
}
< /code>
// File: SampleDLL.h

#ifndef _SAMPLEDLL_H
#define _SAMPLEDLL_H

#ifdef EXP_DLL
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif

extern EXPORT void HelloWorld();

#endif //_SAMPLEDLL_H
< /code>
// SampleDLL.cpp

#include
#define EXP_DLL
#include "SampleDLL.h"
BOOL WINAPI DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
return TRUE;
}

void HelloWorld()
{
MessageBox( NULL, TEXT("Hello World"), TEXT("In a DLL"), MB_OK);
}

< /code>
My folder structure:
Folder
build
source
cmakelists.txt
SampleApp.cpp
SampleDLL.h
SampleDLL.cpp
< /code>
#cmakelists.txt

cmake_minimum_required(VERSION 3.26)
project(dinamica)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

add_executable(programa_dinamica SampleApp.cpp)

add_library(sample SHARED SampleDLL.cpp)

target_link_libraries(programa_dinamica PRIVATE sample)

target_include_directories(programa_dinamica PUBLIC "${PROJECT_SOURCE_DIR}")
< /code>
bash inputs:
Gabriel@DESKTOP-R12MDSF MINGW64 ~/Desktop/winmaindll/build
$ cmake ../source
$ cmake --build . --verbose
< /code>
bash output:
MSBuild version 17.5.0+6f08c67f3 for .NET Framework
Compilación iniciada a las 23/3/2023 11:55:12.
Included response file: C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\
Bin\amd64\MSBuild.rsp

Proyecto "C:\Users\Gabriel\Desktop\winmaindll\build\ALL_BUILD.vcxproj" en nodo 1 (destinos prede
terminados).
El proyecto "C:\Users\Gabriel\Desktop\winmaindll\build\ALL_BUILD.vcxproj" (1) está compilando "C
:\Users\Gabriel\Desktop\winmaindll\build\ZERO_CHECK.vcxproj" (2) en el nodo 1 (destinos predeter
minados).
InitializeBuildStatus:
Se creará "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" porque se especificó "Alway
sCreate".
CustomBuild:
Todas las salidas están actualizadas.
1>Checking Build System
FinalizeBuildStatus:
Se eliminará el archivo "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
Aplicando tarea Touch a "x64\Debug\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
Compilación del proyecto terminada "C:\Users\Gabriel\Desktop\winmaindll\build\ZERO_CHECK.vcxproj
" (destinos predeterminados).

El proyecto "C:\Users\Gabriel\Desktop\winmaindll\build\ALL_BUILD.vcxproj" (1) está compilando "C
:\Users\Gabriel\Desktop\winmaindll\build\programa_dinamica.vcxproj" (3) en el nodo 1 (destinos p
redeterminados).
El proyecto "C:\Users\Gabriel\Desktop\winmaindll\build\programa_dinamica.vcxproj" (3) está compi
lando "C:\Users\Gabriel\Desktop\winmaindll\build\sample.vcxproj" (4) en el nodo 1 (destinos pred
eterminados).
InitializeBuildStatus:
Se creará "sample.dir\Debug\sample.tlog\unsuccessfulbuild" porque se especificó "AlwaysCreate"
.
CustomBuild:
Todas las salidas están actualizadas.
1>Building Custom Rule C:/Users/Gabriel/Desktop/winmaindll/source/CMakeLists.txt
ClCompile:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\HostX64\
x64\CL.exe /c /Zi /nologo /W1 /WX- /diagnostics:column /Od /Ob0 /D _WINDLL /D _MBCS /D WIN32 /
D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /D sample_EXPORTS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise
/Zc:wchar_t /Zc:forScope /Zc:inline /Fo"sample.dir\Debug\\" /Fd"sample.dir\Debug\vc143.pdb" /
external:W1 /Gd /TP /errorReport:queue C:\Users\Gabriel\Desktop\winmaindll\source\SampleDLL.cp
p
SampleDLL.cpp
Link:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\HostX64\
x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\Users\Gabriel\Desktop\winmaindll\build\Debug\sample.d
ll" /INCREMENTAL /ILK:"sample.dir\Debug\sample.ilk" /NOLOGO kernel32.lib user32.lib gdi32.lib
winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /
MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:/Users/Gabriel
/Desktop/winmaindll/build/Debug/sample.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT
/IMPLIB:"C:/Users/Gabriel/Desktop/winmaindll/build/Debug/sample.lib" /MACHINE:X64 /machine:x
64 /DLL sample.dir\Debug\SampleDLL.obj
sample.vcxproj -> C:\Users\Gabriel\Desktop\winmaindll\build\Debug\sample.dll
FinalizeBuildStatus:
Se eliminará el archivo "sample.dir\Debug\sample.tlog\unsuccessfulbuild".
Aplicando tarea Touch a "sample.dir\Debug\sample.tlog\sample.lastbuildstate".
Compilación del proyecto terminada "C:\Users\Gabriel\Desktop\winmaindll\build\sample.vcxproj" (d
estinos predeterminados).

InitializeBuildStatus:
Aplicando tarea Touch a "programa_dinamica.dir\Debug\programa.8E97E3D0.tlog\unsuccessfulbuild"
.
CustomBuild:
Todas las salidas están actualizadas.
1>Building Custom Rule C:/Users/Gabriel/Desktop/winmaindll/source/CMakeLists.txt
ClCompile:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\HostX64\
x64\CL.exe /c /IC:\Users\Gabriel\Desktop\winmaindll\source /Zi /nologo /W1 /WX- /diagnostics:c
olumn /Od /Ob0 /D _MBCS /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR=\"Debug\"" /Gm- /EHsc /RTC1 /MDd
/GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"programa_dinamica.dir\Debug\\" /Fd"pr
ograma_dinamica.dir\Debug\vc143.pdb" /external:W1 /Gd /TP /errorReport:queue C:\Users\Gabriel\
Desktop\winmaindll\source\SampleApp.cpp
SampleApp.cpp
Link:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\HostX64\
x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\Users\Gabriel\Desktop\winmaindll\build\Debug\programa
_dinamica.exe" /INCREMENTAL /ILK:"programa_dinamica.dir\Debug\programa_dinamica.ilk" /NOLOGO D
ebug\sample.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.
lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='fal
se'" /manifest:embed /DEBUG /PDB:"C:/Users/Gabriel/Desktop/winmaindll/build/Debug/programa_din
amica.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/Users/Gabriel/Deskto
p/winmaindll/build/Debug/programa_dinamica.lib" /MACHINE:X64 /machine:x64 programa_dinamica.d
ir\Debug\SampleApp.obj
MSVCRTD.lib(exe_main.obj) : error LNK2019: símbolo externo main sin resolver al que se hace refe
rencia en la función "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) [C:\Users\Gabriel\Des
ktop\winmaindll\build\programa_dinamica.vcxproj]
C:\Users\Gabriel\Desktop\winmaindll\build\Debug\programa_dinamica.exe : fatal error LNK1120: 1 e
xternos sin resolver [C:\Users\Gabriel\Desktop\winmaindll\build\programa_dinamica.vcxproj]
Compilación del proyecto terminada "C:\Users\Gabriel\Desktop\winmaindll\build\programa_dinamica.
vcxproj" (destinos predeterminados) -- ERROR.

Compilación del proyecto terminada "C:\Users\Gabriel\Desktop\winmaindll\build\ALL_BUILD.vcxproj"
(destinos predeterminados) -- ERROR.

ERROR al compilar.

"C:\Users\Gabriel\Desktop\winmaindll\build\ALL_BUILD.vcxproj" (destino predeterminado) (1) ->
"C:\Users\Gabriel\Desktop\winmaindll\build\programa_dinamica.vcxproj" (destino predeterminado) (
3) ->
(Link destino) ->
MSVCRTD.lib(exe_main.obj) : error LNK2019: símbolo externo main sin resolver al que se hace re
ferencia en la función "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) [C:\Users\Gabriel\D
esktop\winmaindll\build\programa_dinamica.vcxproj]
C:\Users\Gabriel\Desktop\winmaindll\build\Debug\programa_dinamica.exe : fatal error LNK1120: 1
externos sin resolver [C:\Users\Gabriel\Desktop\winmaindll\build\programa_dinamica.vcxproj]

0 Advertencia(s)
2 Errores

Tiempo transcurrido 00:00:05.22



Подробнее здесь: https://stackoverflow.com/questions/758 ... nt-it-link
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Конвейер сборки Azure CI/CD не ссылается на обновленную версию, но он ссылается на старую версию.
    Anonymous » » в форуме C#
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Python 3.2 Ошибка "Unboundlocalerror: локальная переменная, на которую ссылается перед назначением" [дублировать]
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • На что ссылается локальная переменная post перед присвоением? [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    63 Просмотры
    Последнее сообщение Anonymous
  • Как создать только заголовок шаблона Cmake C++, который ссылается на другую библиотеку
    Anonymous » » в форуме C++
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Href не ссылается на внешний URL
    Anonymous » » в форуме Jquery
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»