버전업후 gcc 컴파일시 에러가 나요.
이번에 Linux 버전을 7.3에서 Fedora Core 3로 업하면서
그전버전에서 사용하던 c 파일들이
컴파일이 안되고 에러가 주루룩 나와 버리네요...
gcc 2.9 버전대에서 아래와 같은 printf문을 컴파일할 때 에러가 나지 않았는데,
최근 gcc 3.4버전대에서는 컴파일 에러가 납니다.
컴파일 에러 나지않게 하는 방법이나 옵션이 없을까요 ?
고수님들의 조언 부탁합니다.
아래는 예제소스 입니다.
======================================
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <qDecoder.h>
#include <mysql.h>
#include "common.h"
#include "common.c"
using namespace std;
int i,j,count,price,login,co_no,sco_no,co_deny,n_deny,deny[150];
char Query[1000],sco_coname[31],imagename[100];
MYSQL mysql;
MYSQL_RES *result,*result1;
MYSQL_ROW row,row1;
Q_CGIenv myenv;
void Html_list()
{
int new_count;
sprintf(Query,"select event,main1,main2,right1 from html;");
if (mysql_query(&mysql,Query)) msgbox("html 검색에 실패했습니다.",COMPANY);
result1=mysql_store_result(&mysql);
row1=mysql_fetch_row(result1);
printf("<table width='780' border='0' cellspacing='0' cellpadding='0'>
<tr><td>%s</td></tr>
</table>
",row1[1]);
.
.
.
에러
=====================================
ms_main_test.c:15: error: syntax error before "namespace"
ms_main_test.c:15: warning: data definition has no type or storage class
ms_main_test.c: In function `Html_list':
ms_main_test.c:55: error: missing terminating " character
ms_main_test.c:56: error: syntax error before '<' token
ms_main_test.c:57: error: stray '\176' in program
ms_main_test.c:57: error: stray '\241' in program
ms_main_test.c:57: error: stray '\181' in program
ms_main_test.c:57: error: stray '\229' in program
.
.
ms_main_test.c:75: error: `true' undeclared (first use in this function)
ms_main_test.c:75: error: (Each undeclared identifier is reported only once
ms_main_test.c:75: error: for each function it appears in.)
ms_main_test.c:75: warning: `return' with a value, in function returning void
ms_main_test.c: At top level:
ms_main_test.c:81: error: syntax error before "return"
.
.
ms_main_test.c:126: error: stray '\162' in program
ms_main_test.c:126: error: stray '\195' in program
ms_main_test.c:126:62: warning: character constant too long for its type
ms_main_test.c:126:85: warning: character constant too long for its type
.
.
ms_main_test.c:686: error: missing terminating " character
ms_main_test.c: In function `main':
ms_main_test.c:725: warning: assignment makes integer from pointer without a cast
ms_main_test.c:726: warning: passing arg 1 of `mysql_num_rows' makes pointer from integer without at
ms_main_test.c:731: warning: passing arg 1 of `mysql_fetch_row' makes pointer from integer without t
위와같은 메세지들이 주루룩 나와 버리네요..
추가로 필요한 내용이 있으면 알려주세요.. 바로 올려 드리겟습니다.
제가 초보라 고수님들이 답변을 주실때 자세하게 설명을 주시면
정말정말 많은 도움이 되겠습니다.
^^
using namespace std; 는 c++ 에서 쓰는건데..g+
using namespace std; 는 c++ 에서 쓰는건데..
g++ 을 한번 시도해 보시죠?
삽질의 대마왕...
얼핏 보니 C++ 코드같지는 않은데using namespace 부분을
얼핏 보니 C++ 코드같지는 않은데
using namespace 부분을 삭제하시고
gcc로 컴파일하시거나
C++코드가 사용되었다면
g++ 을 이용해 컴파일하세요.
http://home.postech.ac.kr/~sodomau
3.4
3.4 에서는..
prtinf 문에 줄바꿈이 안되는군요....
3.2 에서는.. 경고가 떴었는데..
3.4 에서는.. error 로 바꼈네요..
printf(" 1
2
3
");
printf(" 1\n2\n\3n");
요런식으로 바꾸시면 되겠네요.
문자열 같은 경우
문자열 같은 경우 코드상에서 줄을 바꿔 입력할때는 끝을
합니다.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
여러줄에 걸칠 경우
여러줄에 걸칠 경우 아래와 같이 사용하는 것을 본 것 같네요.
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
여러줄에 걸 칠 경우..
html 코드를 한줄에
html 코드를 한줄에 붙여서 출력하는 프로그래머는 드물거라 봅니다.
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
댓글 달기