argc編譯錯誤
❶ qt編譯出錯 環境變數添加過了,可還是出錯,好像是庫的問題
Linux下面編譯Qt程序的步驟應該是這樣的:
1.進入源文件的目錄
2.qmake -project
3.qmake
4.make
注意你的qmake一定是系統可以找到的程序。如果環境變數沒有添加,或者你希望手動選擇使用的qmake,可以直接在你安裝qt目錄的/bin/qmake 來代替qmake
希望解決你的問題,如果還有問題,請追問。
❷ c語言:下面的代碼為什麼會出現編譯錯誤應當怎麼改正
錯誤出在a=sum;這一句——因為構成C語言程序的基本單位是函數而不是C語句,這里的a=sum;不在任何函數中,所以編譯器無法處理而出錯。把它放到主函數中的printf("%d ",a(3,5));之前就可以了。函數外只能進行全局變數定義或聲明,而不能進行其他操作,所以把int (*a)(int, int); a=sum;兩句改成int (*a)(int, int)=sum;,讓它成為聲明變數a並初始化為sum也是可以的。你可以試試。
代碼文本:
#include "stdio.h"
int sum(int a, int b);
int (*a)(int, int);
int main(int argc,char *argv[]){
a=sum;
printf("%d ",a(3,5));
return 0;
}
int sum(int a,int b){
return a+b;
}
❸ glutInit(&argc, argv);編譯錯誤
這個我不是很清楚,我用vs2010編譯是可以的,也昌清同樣拆脊可以運行顯耐御前示。你可以換個編譯器試試,看可不可以。這只是建議。
❹ 函數模板編譯出錯
//你有定義c么?
#include <cstdlib>
#include <iostream>
using namespace std;
template<typename Type>
Type max(Type a,Type b)
{
return a>b?a:b;
}
int main(int argc, char *argv[])
{
int x=4,y=6,z=0;
double a=4.33,b=3.14;
z=max(a,b);
cout<<
❺ Qt程序的一個編譯錯誤
endl; 去掉,它需要 #include<iostream> using namespace std;
qDebug() 會自動換行
❻ C語言中argc與argv怎麼用為什麼我初始化argc時候老是出錯
argc與argv[]是啟動C程序時系統傳入的,可以直接使用。argc是參數數量,argv是參數表數組。如命令行為「prg.exe 1 2 3」,則argc為4,argv[0]="prg.exe",argv[1]="1",argv[2]="2",argv[3]="3"。以下是LCC-WIN32模板文件(加了一行顯示所有參數語句):
/* --- The following code comes from e:\lcc\lib\wizard\textmode.tpl. */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void Usage(char *programName)
{
fprintf(stderr,"%s usage:\n",programName);
/* Modify here to add your usage message when the program is
* called without arguments */
}
/* returns the index of the first argument that is not an option; i.e.
does not start with a dash or a slash
*/
int HandleOptions(int argc,char *argv[])
{
int i,firstnonoption=0;
for (i=1; i< argc;i++) {
if (argv[i][0] == '/' || argv[i][0] == '-') {
switch (argv[i][1]) {
/* An argument -? means help is requested */
case '?':
Usage(argv[0]);
break;
case 'h':
case 'H':
if (!stricmp(argv[i]+1,"help")) {
Usage(argv[0]);
break;
}
/* If the option -h means anything else
* in your application add code here
* Note: this falls through to the default
* to print an "unknow option" message
*/
/* add your option switches here */
default:
fprintf(stderr,"unknown option %s\n",argv[i]);
break;
}
}
else {
firstnonoption = i;
break;
}
}
return firstnonoption;
}
int main(int argc,char *argv[])
{
if (argc == 1) {
/* If no arguments we call the Usage routine and exit */
Usage(argv[0]);
return 1;
}
/* handle the program options */
HandleOptions(argc,argv);
/* The code of your application goes here */
for (int i=0;i<argc;i++)printf("%s ",argv[i]);
return 0;
}
❼ c語言helloworld代碼是對的,但編譯錯誤
"代碼是對的",不要把自己放到"我是對的"的位置上去,這樣就沒有辦法找自己問題了.既然編譯沒過,肯定哪錯了
你代碼不完全對,main函數的signature應該是int main(int argc, char* argv[]),編譯器只是檢查的比較寬松,有些書籍也不夠嚴謹
至於編譯,明明是過了啊?為什麼說編譯錯誤?