IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

[Winforms] Erreur de compilation LNK1561


Sujet :

C++/CLI

  1. #1
    Membre �prouv�
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Etude technique THT
    Secteur : B�timent Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par d�faut [Winforms] Erreur de compilation LNK1561
    Bonjour,
    J'�volue sous visual studio community 2015 en c++.
    Je souhaiterais cr�er une application Windows Form c++.

    J'effectue un test tr�s simple :

    1) Fichier --> Nouveau --> Projet --> Visual c++ --> c++ Windows form

    2) J'ex�cute le mode D�bogueur en mode local en debug.
    Tous fonctionnent parfaitement bien. La fen�tre Windows Form s'affiche.

    Mais en mode realise G�n�rer la solution l'erreur suivante s'affiche :
    LNK1561 le point d'entr�e doit �tre d�fini.

    Pourtant si j'ai bien compris les tutos c'est la proc�dure main le point d'entr�e dans le fichier cpp.

    Fichier MyForm.cpp :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #include "MyForm.h"
     
     
    using namespace System;
    using namespace System::Windows::Forms;
     
     
    [STAThread]
    void Main(array<String^>^ args)
    {
    	Application::EnableVisualStyles();
    	Application::SetCompatibleTextRenderingDefault(false);
     
    	AWinForm2::MyForm form;
    	Application::Run(%form);
     
     
     
     
    }
    Fichier MyForm.h :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    #pragma once
     
    namespace CppWinForm1 {
     
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
     
    	/// <summary>
    	/// Summary for MyForm
    	/// </summary>
    	public ref class MyForm : public System::Windows::Forms::Form
    	{
    	public:
    		MyForm(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: Add the constructor code here
    			//
    		}
     
    	protected:
    		/// <summary>
    		/// Clean up any resources being used.
    		/// </summary>
    		~MyForm()
    		{
    			if (components)
    			{
    				delete components;
    			}
    		}
     
    	private:
    		/// <summary>
    		/// Required designer variable.
    		/// </summary>
    		System::ComponentModel::Container ^components;
     
    #pragma region Windows Form Designer generated code
    		/// <summary>
    		/// Required method for Designer support - do not modify
    		/// the contents of this method with the code editor.
    		/// </summary>
    		void InitializeComponent(void)
    		{
    			this->SuspendLayout();
    			// 
    			// MyForm
    			// 
    			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(284, 261);
    			this->Name = L"MyForm";
    			this->Text = L"MyForm";
    			this->Load += gcnew System::EventHandler(this, &MyForm::MyForm_Load);
    			this->ResumeLayout(false);
     
    		}
    #pragma endregion
    	private: System::Void MyForm_Load(System::Object^  sender, System::EventArgs^  e) {
    	}
    	};
    }
    Ces 2 fichiers ont �t� cr�es automatiquement lors de la cr�ation du projet.

    Via Google je ne trouve pas la solution.
    Si quelqu'un a des tutos sur Windows Form et explication sur le point d'entr�e cela me rendrais bien service (en Fran�ais si possible).
    En attente d'une r�ponse, cordialement.

  2. #2
    Membre �prouv�
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Etude technique THT
    Secteur : B�timent Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par d�faut RE
    ultrabody a trouv� une r�ponse voir ce lien http://www.developpez.net/forums/d13...t-cpp-form-vs/

    J'ai mis dans le fichier MyForm.ccp :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include "MyForm.h" //the header name for your form
     
    using namespace Projet1; //the project name in your header file
     
    [STAThreadAttribute]
    int main(array<System::String ^> ^args)
    {
    	Application::EnableVisualStyles();
    	Application::SetCompatibleTextRenderingDefault(false);
     
    	Application::Run(gcnew MyForm());
    	return 0;
    }
    Fichier MyForm.h :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    #pragma once
     
    namespace Projet1 {
     
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
     
    	/// <summary>
    	/// Description résumée de MyForm
    	/// </summary>
    	public ref class MyForm : public System::Windows::Forms::Form
    	{
    	public:
    		MyForm(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: ajoutez ici le code du constructeur
    			//
    		}
     
    	protected:
    		/// <summary>
    		/// Nettoyage des ressources utilisées.
    		/// </summary>
    		~MyForm()
    		{
    			if (components)
    			{
    				delete components;
    			}
    		}
     
    	private:
    		/// <summary>
    		/// Variable nécessaire au concepteur.
    		/// </summary>
    		System::ComponentModel::Container ^components;
     
    #pragma region Windows Form Designer generated code
    		/// <summary>
    		/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
    		/// le contenu de cette méthode avec l'éditeur de code.
    		/// </summary>
    		void InitializeComponent(void)
    		{
    			this->SuspendLayout();
    			// 
    			// MyForm
    			// 
    			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(284, 261);
    			this->Name = L"MyForm";
    			this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen;
    			this->Text = L"MyForm";
    			this->Load += gcnew System::EventHandler(this, &MyForm::MyForm_Load);
    			this->ResumeLayout(false);
     
    		}
    #pragma endregion
    	private: System::Void MyForm_Load(System::Object^  sender, System::EventArgs^  e) {
    	}
    	};
    }
    En mode realise cela fonctionne bien mais cela m'affiche une fen�tre dos ind�sirable, alors que je ne veux que le fen�tre Form.
    Si quelqu'un a une id�e je suis preneur.
    Cordialement.

  3. #3
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    V�rifiez dans les options de compilation les propri�t�s en charge de sp�cifier le point d'entr�.

  4. #4
    Membre �prouv�
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Etude technique THT
    Secteur : B�timent Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par d�faut RE
    Bonjour,
    Merci bacelar pour votre r�ponse.
    Je r�ponds tardivement car je travaille en horaire d�cal�.

    Pour d�finir le point d'entr�e j'ai proc�d� de la mani�re suivante :

    Projet --> propri�t� du projet --> �diteur de liens --> Avanc� --> Point d'entr�e

    Nom : Définir point d'entrée.JPG
Affichages : 1815
Taille : 107,1 Ko

    Mais je ne sais pas ce qu'il faut mettre au point d'entr�e.
    J'ai essay� d'indiquer le fichier .cpp mais cela ne fonctionne pas.

    Pourriez-vous m'indiquer la d�marche � suivre svp ?

    Voici ce qui ce produit lorsque je ne modifie rien, j'obtiens une fen�tre en plus de MyForm :

    Nom : 2 fenêtres.JPG
Affichages : 1685
Taille : 39,0 Ko

  5. #5
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par d�faut
    Salut,

    si tu vas dans Editeur de liens > Syst�me > Sous-syst�me : /SUBSYSTEM:WINDOWS, �a fait ce que tu veux ?
    Perso quand je fais du Win32 je mets l'option en pragma, directement dans le code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    #pragma comment(linker, "/SUBSYSTEM:windows")

  6. #6
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    Mais je ne sais pas ce qu'il faut mettre au point d'entr�e.
    La m�me chose quand Debug.
    J'ai essay� d'indiquer le fichier .cpp mais cela ne fonctionne pas.
    C'est une fonction, pas un fichier, qu'il faut indiquer.
    Donc "main", �a doit le faire.

  7. #7
    Membre �prouv�
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Etude technique THT
    Secteur : B�timent Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par d�faut RE SUBSYSTEM:WINDOWS et main
    Bonjour,

    En ce qui concerne le point d'entr�e j'ai mis main et /SUBSYSTEM:WINDOWS comme vous me l'avez recommand� et cela a effectivement r�solu mon probl�me d'affichage.

    Un grand merci � vous deux d'avoir trouv� la solution et pris sur votre temps.

    Cordialement.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Erreur de compilation apr�s modification du Uses
    Par DevelOpeR13 dans le forum Langage
    R�ponses: 5
    Dernier message: 30/10/2007, 14h23
  2. R�ponses: 2
    Dernier message: 23/09/2003, 14h32
  3. R�ponses: 10
    Dernier message: 22/09/2003, 21h58
  4. R�ponses: 4
    Dernier message: 27/08/2003, 21h34
  5. R�ponses: 2
    Dernier message: 04/03/2003, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo