【发布时间】:2019-07-17 01:04:33
【问题描述】:
我需要学习用 C 编写代码以供学习,因此我使用 Visual Studio 代码。 我之前必须在 Pascal 中编码,这就是为什么我已经有了 xcode,安装 fpc。
最近,我想对我的存储进行一些清理,我删除了一些应用程序。不幸的是,我删除了 Xcode(不是故意的)。 现在我需要用 C 编写代码,我重新安装了它。我无法编译我的程序。我认为文件有问题。我得到了 clang 错误(clang:错误:没有输入文件)并在 Visual Studio 代码中得到了这个:
Undefined symbols for architecture x86_64:
"_a", referenced from:
_voiturePresente in q2-32f9ff.o
(maybe you meant: _modiff_adresse_client, _adresse )
"_i", referenced from:
_saisieClient in q2-32f9ff.o
_voiturePresente in q2-32f9ff.o
_VoituresRepares in q2-32f9ff.o
(maybe you meant: _infoClient, _immatriculation )
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
extern int i,a;
char nom[5][50];
char prenom[5][50];
char adresse[5][1000];
char marque[5][50];
char modele[5][50];
int immatriculation[5];
int statut_reparation[5]; //un booléen est defenis comme valant soit 0 soit 1, n'ayant pas de type pour ca, j'ai mis int
void saisieClient() {
for (i=0; i<5; i++) {
printf(" nom du client %d \n", i);
scanf("%s", nom[i]);
printf(" Prénom : \n");
scanf("%s", prenom[i]);
printf(" adresse : \n");
scanf("%s", adresse[i]);
printf(" marque voiture : \n");
scanf("%s", marque[i]);
printf(" modèle : \n");
scanf("%s", modele[i]);
printf(" immatriculation : \n");
scanf("%d", &immatriculation[i]);
printf(" statut des réparation : \n");
scanf("%d", &statut_reparation[i]);
}
}
void infoClient(int a) {
printf("nom : %s \n", nom[a]);
printf("prenom : %s \n", prenom[a]);
printf("adresse : %s \n", adresse[a]);
printf("marque voiture: %s \n",marque[a]);
printf("modele voiture: %s \n",modele[a]);
printf("immatriculation voiture: %d \n",immatriculation[a]);
if (statut_reparation[a]==1)
{
printf("statut des reparations: réparé \n");
}
else
{
printf("statut des reparations: pas réparé \n");
}
}
void voiturePresente() {
for (i=0 ; i<5 ; i++){
printf("marque : %s \n", marque[i]);
printf("modele : %s \n",modele[i]);
printf("immatriculation : %d \n",immatriculation[i]);
if (statut_reparation[a]==1)
{
printf("statut des reparations: réparé \n");
}
else
{
printf("statut des reparations: pas réparé \n");
}
}
}
void modiff_adresse_client(int x){
printf("nouvelle adresse : ");
scanf("%s", adresse[x]);
}
void VoituresRepares(void) {
for (i=0; i<5; ++i)
{
if (statut_reparation[i]==1)
{
printf("la voiture du client %d \n", i);
printf("est réparé. voici sa fiche client: \n");
printf("nom : %s \n", nom[i]);
printf("prenom : %s \n",prenom[i]);
printf("adresse : %s \n", adresse[i]);
printf("marque voiture: %s \n",marque[i]);
printf("modele voiture: %s \n",modele[i]);
printf("immatriculation voiture: %d \n",immatriculation[i]);
}
}
}
int main () {
saisieClient();
infoClient(3);
voiturePresente();
modiff_adresse_client(3);
VoituresRepares();
}
我都卸载了(Xcode 和 Visual Studio Code),但仍然有同样的问题。 我也再次尝试了一些命令,例如 xcode-select --install,但没有任何改变。
PS:我有最新版本的操作系统、Visual Studio 代码和 Xcode。我在执行 gcc -v 时得到了这个:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
【问题讨论】:
标签: c xcode macos clang llvm-gcc