Visual Studio
touite
-
Pat -
Pat -
Bonjour,
j'ai essayé de rajouter un fichier .h à mon fichier main.cpp, cependant lorsque je compile, j'ai 2 erreurs :
pourtant, mes 3 fichiers sont dans le même dossier. Donc pourquoi est-ce que ça ne marche pas ? (j'utilise Visual Studio)
voici le main:
ainsi que le fichier fonctionTest.h :
et puis le fichier fonctionTest.c:
Cordialement...
j'ai essayé de rajouter un fichier .h à mon fichier main.cpp, cependant lorsque je compile, j'ai 2 erreurs :
Erreur LNK2019 symbole externe non résolu "void __cdecl test(void)" (?test@@YAXXZ) référencé dans la fonction _main ConsoleApplication1 C:\Users\Pierre\source\repos\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1
Erreur LNK1120 1 externes non résolus ConsoleApplication1 C:\Users\Pierre\source\repos\ConsoleApplication1\Debug\ConsoleApplication1.exe 1
pourtant, mes 3 fichiers sont dans le même dossier. Donc pourquoi est-ce que ça ne marche pas ? (j'utilise Visual Studio)
voici le main:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include "fonctionTest.h"
int main()
{
test();
return 0;
}
ainsi que le fichier fonctionTest.h :
#ifndef fonctionTest_H #define fonctionTest_H void test(); #endif
et puis le fichier fonctionTest.c:
#include "fonctionTest.h"
void test(){
printf("bonjour test fonction!");
}
Cordialement...
A voir également:
- Visual Studio
- Visual petanque - Télécharger - Sport
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Visual c++ runtime - Guide
- Darkwave studio - Télécharger - Édition & Montage
- Visual basic - Télécharger - Langages
4 réponses
Bonjour
Pas un grand spécialiste de C++, mais je dirais qu’il faut mettre l’extension cpp au fichier fonctionTest.c
Pas un grand spécialiste de C++, mais je dirais qu’il faut mettre l’extension cpp au fichier fonctionTest.c
Bonjour,
Il faut en effet avoir tous les fichiers en .cpp pour faire du C++.
C'est pourtant possible de lier des fichiers .c et des fichiers .cpp, il y a alors une chose de plus à faire. Le fichier d'entête devrait être:
Quand tu écris, les .cpp sont sont dans le même dossier, je pense que tu voulais écrire sont dans le même projet. Etre dans le même dossier ne sert à rien, par contre le projet doit bien connaître les fichiers qui sont à compiler.
Il faut en effet avoir tous les fichiers en .cpp pour faire du C++.
C'est pourtant possible de lier des fichiers .c et des fichiers .cpp, il y a alors une chose de plus à faire. Le fichier d'entête devrait être:
#ifndef FONCTIONTEST_H
#define FONCTIONTEST_H
#ifdef __cplusplus
extern "C" // on prévient le C++ que la fonction test() est en langage C
#endif
void test();
#endifJ'ai écris cela car ta fonction test() utilise print() qui est une fonction C, et ton fichier ne compilera pas en C++ car il manque un include<stdio.h> indispensable en C++
Quand tu écris, les .cpp sont sont dans le même dossier, je pense que tu voulais écrire sont dans le même projet. Etre dans le même dossier ne sert à rien, par contre le projet doit bien connaître les fichiers qui sont à compiler.
Merci pour vos réponses.
en fait, j'aimerais coder en C, mais au moment de créer un nouveau projet avec Visual Studio 2019, je n'ai pas vu l'option C, j'ai donc choisi C++...
est-ce une bonne idée de continuer à coder en C, en utilisant des fichiers .cpp ?
en fait, j'aimerais coder en C, mais au moment de créer un nouveau projet avec Visual Studio 2019, je n'ai pas vu l'option C, j'ai donc choisi C++...
est-ce une bonne idée de continuer à coder en C, en utilisant des fichiers .cpp ?