es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Los ejemplos de qwt no se pueden compilar debido a un error del enlazador en Windows con MSVC (LNK2019).

Tengo instalado QT 6.2.2 en Windows 10 y estoy intentando construir qwt 6.2.0. La compilación de la biblioteca qwt a través de MSVC es exitosa, pero nmake genera errores de enlace al compilar los ejemplos de qwt. Estoy intentando compilar todo el qwt a través del símbolo del sistema de comandos de QT MSVC cargando vcvars desde MSVC, ejecutando qmake y luego ejecutando nmake como se indica aquí (https://qwt.sourceforge.io/qwtinstall.html#BUILDSUBSECTION).

La salida de nmake es la siguiente:

Microsoft (R) Program Maintenance Utility Version 14.30.30706.0
Copyright (C) Microsoft Corporation.  All rights reserved.

Enlace ..\bin\animation.exe
MSVCRT.lib(exewinmain.obj) : error LNK2019: símbolo externo sin resolver WinMain al que se hace referencia en la función “int cdecl _scrtcommonmainseh(void)” (?scrtcommonmainseh@@YAHXZ)
..\bin\animation.exe : error LNK1120: 1 externos sin resolver
NMAKE : error fatal U1077: ‘echo’ : código devuelto ‘0x460’
Detener.
NMAKE : error fatal U1077: ‘”C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX64\x64\nmake.exe”‘ : código devuelto ‘0x2’
Detener.
NMAKE : error fatal U1077: ‘cd’ : código devuelto ‘0x2’
Detener.
NMAKE : error fatal U1077: ‘cd’ : código devuelto ‘0x2’
Detener.
“`

He intentado esto en dos máquinas con Windows 10 diferentes y me he encontrado con el mismo problema en ambas máquinas.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que los errores del enlazador son causados por la falta de una función WinMain o por la configuración incorrecta del proyecto en los ejemplos de qwt. Una solución al problema sería modificar la configuración del proyecto de ejemplo de qwt para especificar correctamente el punto de entrada y eliminar el subsistema de consola.

    Para hacer esto, sigue estos pasos:

    1. Abre el proyecto de ejemplo de qwt en Visual Studio.
    2. Haz clic derecho en el proyecto en el Explorador de soluciones y selecciona Propiedades.
    3. En Propiedades > Configuración de enlazador > Sistema, cambia el valor de SubSistema a Windows (/SUBSYSTEM:WINDOWS).
    4. En Propiedades > Configuración de enlazador > Avanzado, cambia el valor de Punto de entrada a wWinMainCRTStartup.
    5. Guarda la configuración del proyecto y prueba a compilar el ejemplo nuevamente usando nmake.

    Estos pasos deberían solucionar los errores del enlazador y permitirte compilar correctamente los ejemplos de qwt. Ten en cuenta que es posible que necesites repetir estos pasos para cada uno de los proyectos de ejemplo de qwt.

Comments are closed.