Post

반응형


사용법

#pragma region RegionName


source code ...


#pragma endregion


설명

#pragma region 선언부터 endregion 까지 하나의 소스로 인식한다.

하나의 소스로 인식되면 코드 옆에 - , + 아이콘으로 코드를 한번에 접을 수 있어서 유용하다.


반응형

Post

반응형


새프로젝트 생성 시 Visual C++ - Window 데스크톱 - Windows 데스크톱 마법사를 선택해야

빈 프로젝트를 생성할 수 있다.(콘솔, 응용 선택창은 그 다음에 나온다)



반응형

Post

반응형

예전 서버 소스코드를 실행시키려고 하니 C4996에러가 났다.


C4996

'WSASocketA': Use WSASocketW() instead  or define      _WINSOCK_DEPRECATED_NO_WARNINGS      to disable deprecated API warnings


C4996 'inet_addr': Use inet_pton() or InetPton()      instead or define      _WINSOCK_DEPRECATED_NO_WARNINGS      to disable deprecated API warnings

OverlappedSend_Win_Wori


처음 C4996은 WSASocket 대신 WSASocketW 함수를 사용하라고 해서, 사용하니 해결.

두번째 c4996 Wanring은 inet_pton() or InetPton()  함수를 사용하라고 해서 수정하니 해결


#include <WS2tcpip.h>  // inet_pton 함수 사용시 include 해야함

inet_pton(AF_INET, "127.0.0.1", &(sendAdr.sin_addr));



반응형

Post

반응형

1>main.obj : error LNK2019: __imp__closesocket@4 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__connect@12 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__htons@4 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__inet_addr@4 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__WSAStartup@8 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__WSACleanup@0 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__WSAGetLastError@0 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__WSACloseEvent@4 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__WSACreateEvent@0 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__WSAGetOverlappedResult@20 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__WSASend@28 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__WSASocketA@24 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.

1>main.obj : error LNK2019: __imp__WSAWaitForMultipleEvents@20 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.



#pragma comment(lib, "ws2_32.lib")

lib 포함시켜주면 된다.

반응형

'이전게시판 > Server' 카테고리의 다른 글

IOCP window 채팅 클라이언트 소스  (0) 2018.10.04
IOCP 채팅 서버 소스 예제  (0) 2018.10.04
C4996 에러  (0) 2018.09.28
구글 프로토콜 버퍼 C++ Window 예제 (Google Protocol buffer)  (0) 2018.07.27
기본 서버 예제의 문제점  (0) 2018.07.05
C4996 inet_addr Error Solution  (0) 2018.06.30
ip주소 추적  (0) 2018.04.21
hosts파일, DNS  (0) 2018.04.21

Post

반응형

Jenkins 에서 svn + MSBuild 설정


1. svn 설정

svn 설정은 해당 아이템의 구성으로 들어가면 된다.

구성을 선택하면 소스코드 관리 메뉴가 보일 것이다.



여기에서 Subversion 을 선택하고

Repository URL 에 자신의 저장소 주소를 넣어준다.

나의 RepositoriesURL 은 https://IP/svn 이고 저장소 이름은 SVNTest이다.

그래서 https://IP/svn/SVNTest 라고 입력했다.


자신의 저장소 주소는 Subversion 실행시켜서 Properties 메뉴를 선택하면 확인할 수 있다.



Credentials는 해당 저장소에 접근 가능한 SVN 유저ID와 비밀번호를 적으면 된다.

만약 틀리게 적으면 빌드 실패가 뜬다.



2.MSBuild 설정

1. MSBuild 플러그인 다운로드

Jenkins 메인화면에서 Jekins 관리 - 플러그인 관리 - MSBuild Plugin 를 찾아서 설치합니다.


2. MSBuild 설정

메인 화면 - Jekins 관리 - Global Tool Configuration 클릭


톱니바퀴 모양의 시스템 설정이 아닙니다!!


3. MSBuild 설정


MSBuild 위치를 설정합니다.

저는 나중에 나온 에러로 인해 VS에 있는 MSBuild 위치를 사용했습니다.

Path to MSBuild : C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\


4. 빌드할 프로젝트 설정

Jenkins 메인화면 - 설정할 아이템 클릭 - 구성

Build 메뉴에서 방금 만들었던 MSBuild 설정의 이름을 선택합니다.(MSBuild Version)

MSBuild Build File 엔 빌드할 프로젝트의 sln 파일 위치를 넣어줍니다.




이후 빌드가 성공하고 빌드 결과물이 생성된 것을 확인할 수 있습니다.






반응형

Post

반응형

나는 Visual Studio 프로젝트를 빌드하려고 했기 때문에

Jenkins + svn + MSBuild 설정을 하였다.

설정 중에 MSBuild 관련 오류가 많이 나서 정리를 한다.

 

1.

빌드 결과

'msbuild.exe'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는

배치 파일이 아닙니다.

Build step 'Build a Visual Studio project or solution using MSBuild' marked build as failure

Finished: FAILURE

 

원인

 

 

MSBuild 설정 자체를 하지 않아서 발생했다.

MSBuild 설정은 Jenkins 메인화면 - Jenkins 관리 - Global Tool Configuration 이다.

 

다른사람들이 캡쳐 올린것을 봤을 땐

맨 위에 있는 아이콘쪽에 표시가 되어있어서  Globa Tool Configuration이 아닌 시스템 설정에서 

MSBuild 메뉴를 찾고있었다;;

MSBuild 설정은 반드시 Global Tool Configuration 메뉴를 클릭해서 찾아야 한다.

 

 

2.

빌드 결과

FATAL: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild\msbuild.exe doesn't exist

 

원인

msbuild.exe 파일을 찾을 수 없다고 뜬다.

결론은 내가 위치를 복붙하면서 C:\ 앞에 띄어쓰기 한칸이 있었고,, 위치도 잘못 설정해줬다.(v4.0.30319\msbuild,.exe 경로가 되어야 하는데 잘못적음)

수정 후 에러 해결

 

반응형

3.

빌드 결과

MSBUILD : error MSB1009: 프로젝트 파일이 없습니다.

스위치: C:\Program Files (x86)\Jenkins\workspace\Example\Project1\Project1.sin

Build step 'Build a Visual Studio project or solution using MSBuild' marked build as failure

 

msbuild error msb1009 프로젝트 파일이 없습니다

 

원인

sln 이라고 쳐야하는데 sin 이라고 쳤다.......

수정하니 해결

 

 

 

 

4.

빌드 결과

C:\Program Files (x86)\Jenkins\workspace\Example\Project1\Project1\Project1.vcxproj(27,3): error MSB4019: 가져온

"C:\Microsoft.Cpp.Default.props" 프로젝트를 찾을 수 없습니다. <Import> 선언에 지정한 경로가 올바른지 그리고 파일이 디스크에 있는지 확인하십시오.

 

원인

 

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin

vs 위치에 있는 MSBuild로 변경했다.

이후에 빌드 성공했다.

 

 

반응형

Post

반응형


Jenkins 설정 시 SVN 유저 ID를 설정하니 'Unable to access the repository' 에러가 떴다.

에러가 떠서인지 빌드를 해도


Checking out a fresh workspace because there's no workspace at C:\Program Files (x86)\Jenkins\workspace\Example

Cleaning local Directory .

ERROR: Subversion checkout has been canceled

Build was aborted

Finished: ABORTED


이런식으로 에러가 났다.

알고보니 내가 SVN 유저 ID를 착각해 없는 ID를 넣은거였다;;;

제대로 넣어주니 빌드 성공


Finished: SUCCESS

반응형
▲ top