Windows에서 gcc를 사용하려면 MinGW(Minimalist GNU for Winodws)를 설치해야만 한다.

다만, MinGW는 32비트만 지원하는 바람에 메모리 제약을 받을 수밖에 없어서, MinGW w64라고 하는 32/64비트용 MinGW를 설치하고 이걸 사용할 거다.

(MinGW와 MinGW w64는 독립적인 프로젝트다)

MinGW w64는 Sourceforge에서 다운을 받을 수 있다.


다운을 받은 뒤 실행하고 Next를 누르면 아래와 같은 선택 창이 나온다.



Version은 gcc 버전을 의미한다. 6.2.0을 그대로 둔다.

Architecture는 i686, x86_64가 있는데 i686은 32비트를, x86_64는 64비트를 의미한다. x86_64로 변경한다.

Threads는 posix와 win32가 있는데 posix를 선택한다.

Exception은 64비트에선 seh, sjlj가 있는데 seh를 선택한다.

Build revision은 위의 Version에서 revision을 의미한다. 6.2.1로 설치하기 위해 1로 둔다.



이렇게 설정한 뒤 계속 Next를 눌러 설치를 마친다.




설치한 gcc를 환경 변수에 추가하기 위해 내 컴퓨터 > 속성 > 고급 시스템 설정 > 환경 변수 > 시스템 변수 > Path로 들어가 다음을 추가한다:


C:\Program Files\mingw-w64\x86_64-6.2.0-posix-seh-rt_v5-rev1\mingw64\bin


환경 변수까지 제대로 했다면, 자신이 사용하는 shell에서 gcc(cmd, PowerShell, Git Bash 등)를 사용할 수 있다.

아래의 명령어를 통해 확인해본다:


$ gcc -v




Reference)

http://klutzy.nanabi.org/blog/2015/03/05/mingw/

http://stackoverflow.com/questions/29947302/meaning-of-options-in-mingw-w64-installer




platform-ide-terminal(PowerShell)



Windows에서 platform-ide-terminal을 실행하면 PowerShell이 기본으로 나온다.

PowerShell로도 내가 하려는 건 할 순 있지만, 잘 모르고, 안 써본 거라 불편해서 Git Bash로 변경하고자 한다. 

(OS X에서는 터미널로만 실행이 되도록 고정되어 있는 반면, Windows에서는 변경이 가능하다)

우선, atom > Settings(Ctrl + ,) > Packages > platform-ide-terminal > Settings로 들어간다.


그 다음, Shell Override를 아래와 같이 입력한다:


C:\Program Files\Git\bin\bash.exe


Shell Arguments에 아래와 같이 설정한다:


-l -i


이렇게 한 뒤 실행을 해보면 PowerShell 대신 Git Bash가 나타난다.



platform-ide-terminal(Git Bash)





Reference)

http://superuser.com/questions/856979/can-we-open-gitbash-from-atom-text-editor

'Programming > Atom' 카테고리의 다른 글

OS X에서 linter-gcc 설정하기  (0) 2017.01.04
minimap 패키지 오류  (0) 2016.12.19
현재 사용 중인 Atom 패키지  (0) 2016.11.20




갑자기 atom에서 minimap이 작동이 되지 않았다.

github 내 issue를 보니 minimap 4.26 버전에서만 작동하지 않는 걸로 의견이 모이고 있다.

현재 해결책으로는 4.25.7 버전으로 되돌려서 사용하는 것.


어떻게 다운그레이드를 하는지 몰라서 4.25.7 버전을 일단 다운받은 뒤 atom 패키지에 있는 minimap과 바꿨다.

그랬더니 mixto라 하는 모듈을 찾지 못한다는 에러가 뜨면서 되지 않더라..;

역시 github 내에 있는 issue에서 찾아보니 재설치하면 된다길래, 재설치를 해보니까 정말로 됐다;


정리하자면,

1) 4.25.7 버전을 다운받는다.

2) atom 패키지 저장소(.atom/packages)에 있는 minimap 패키지를 삭제하고 같은 위치에 4.25.7 버전을 옮긴다.

3) atom을 실행해서 atom > package에서 minimap을 삭제한 뒤 다시 설치한다.

4) 재실행 후 작동하는 것을 확인해본다.




이렇게 하지 않고 command line을 이용해서 더 간단하게 해결할 수 있는 방법이 있다.

아래의 명령어를 입력하면 해결된다.


$ apm uninstall minimap && apm install minimap@4.25.7







1. Windows Visual Studio에서 설정하기


아래의 기준으로 설명한다.

- Visual Studio 2015 Community


1-1. Parallel Studio XE 2017 


1) 프로젝트에서 debug > Properties로 들어간다.

2) Configuration, Platform을 자신에게 맞게 설정한다. 특별히 정한 게 없으면 둘 다 All로 한다.

3) Configuration Properties > Intel Performance Libraries에서 Use Intel MKL을 병렬로 사용할거면 Parallel, 단일로 사용할거면 Sequential로 설정한다. 


1-2. Intel Math Kernel Library 2017


1) 프로젝트에서 debug > Properties로 들어간다.

2) Configuration, Platform을 자신에게 맞게 설정한다.

3) Configuration Properties > VC++ Directories > Include Directories에서 아래를 추가한다.


C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017\windows\mkl\include;


4) Configuration Properties > VC++ Directories > Library Directories에서 아래를 추가한다.


C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017\windows\mkl\lib;


5) Linker > General > Additional Library Directories에서 Platform이

5-1) x86이면 아래를 추가한다.


C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017\windows\mkl\lib\ia32;


5-2) x64이면 아래를 추가한다.


C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017\windows\mkl\lib\intel64;


6) Linker > Input > Additional Dependencies에서 Platform이

6-1) x86이고

6-1-1) 단일로 사용할거면 아래를 추가한다.


mkl_intel_c.lib;mkl_sequential.lib;mkl_core.lib;


6-1-2) 병렬로 사용할거면 아래를 추가한다.


mkl_intel_c.lib;mkl_thread.lib;mkl_core.lib;


6-2) x64이고

6-2-1) 단일로 사용할거면 아래를 추가한다.


mkl_intel_lp64.lib;mkl_sequential.lib;mkl_core.lib;


6-2-2) 병렬로 사용할거면 아래를 추가한다.


mkl_intel_lp64.lib;mkl_intel_thread.lib;mkl_core.lib;









2. OS X에서 command line 설정하기


아래의 기준으로 설명한다.

- gcc 6.2.1

- Intel Math Kernel Library 2017

- hello.c를 result.out으로 컴파일


편의상 MKL 설치 경로를 MKLROOT로 정의해서 쓴다.

bash_profile에다가 아래를 추가한다.


export MKLROOT=/opt/intel/compilers_and_libraries_2017/mac/mkl


1) Sequential


$ gcc -fopenmp -m64 -I${MKLROOT}/include -L${MKLROOT}/lib -Wl,-rpath,${MKLROOT}/lib -lmkl_intel_lp64 -lmkl_intel_sequential -lmkl_core -lpthread hello.c -o result.out


2) Parallel


gcc -m64 -I${MKLROOT}/include -L${MKLROOT}/lib -Wl,-rpath,${MKLROOT}/lib -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread hello.c -o result.out








Reference)

https://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-compiling-and-linking-with-microsoft-visual-cc

https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor




올 초에 atom을 쓰기 시작했는데, 처음 설치하게 된 계기는 Julia를 보다 편리하게 실행하기 위해서... 였다.

python이야 anaconda를 이용했고, 당시에 c는 Xcode나 윈도우 PC로 Visual Studio를 썼다.

(맥북을 올 초에 구매했다. 그 전까지는 윈도우에서 Visual Studio로만 c를 썼다)

그래서 그 때는 command line으로 gcc, clang, icc 등을 통해 컴파일을 할 줄도 몰랐고, 해본 적도 없었지...;


처음에는 오직 Julia를 위해서만 쓰다가 atom이랑 텍스트 에디터에 대해 알아보고 찾아보기도 하다 보니 자연스럽게 atom으로 c도 쓰고 있더라.

시간이 지나다 보니 텍스트 에디터의 필요성을 많이 느끼기도 했고, IDE보다 편리한 점들도 많아 코딩할 때 주로 쓰고 있다.


어쨌든, 그렇게 시간이 지나면서 현재까지 내가 사용하고 있는 패키지들을 소개하고자 한다.

거창한 건 아니고, 난 이런 패키지 쓰고 있다 정도의 글이다.


2016. 11. 22. expose 추가

2016. 11. 23. language-cuda 추가

2017. 01. 09. atom-clock, file-icons, project-manager tool-bar-atom 추가, tool-bar-main 삭제

2017. 01. 19. minimap-codeglance, minimap-linter 추가

2017. 01. 24. highlight-line 추가, language-matlab 삭제

2017. 02. 15. minimap-codeglance 삭제

2017. 02. 17. git-plus, git-control, markdown-preview-plus 추가








일반




1. activate-power-mode

파워 타이핑(?)이 가능해지는 패키지.

파티클 모드만 쓰다가 콤보 모드가 추가되었는데, 동시에 작동하지도 않고 콤보 모드가 별로 마음에 안들어서 파티클 모드만 사용하고 있다.


2. highlight-selected

단어를 더블 클릭하면 하이라이트해서 같은 단어들도 지정해주는 패키지.


3. minimap

우측에 코드에 대한 미니맵이 나오는 패키지다.

크기나 위치도 바꿀 수 있는데 디폴트가 마음에 들어서 그대로 두고 쓰고 있다.


3-1. minimap-cursorline

minimap에서 내 커서의 위치를 나타내주는 패키지.

코드가 길어질 때 현재 내 커서의 위치를 찾기가 쉽다.


3-2. minimap-find-and-replace

find/replace에 대응되는 걸 minimap에 나타나게 해주는 패키지.


3-3. minimap-highlight-selected

highlight-selected를 minimap에 나타내주는 패키지.

highlight-selected는 minimap에서 더 효과적으로 쓸 수 있다.


3-4. minimap-codeglance

minimap 상에 있는 코드를 보여주는 패키지.

코드가 길어질 때 minimap을 통해 간략하게 확인할 수 있다.

생각보다 활용도가 낮아서 삭제.


3-5. minimap-linter

linter를 통한 에러가 뜰 때 그 위치를 minimap에 나타내주는 패키지.


4. open-recent

atom에서는 이유를 모르겠지만 최근 파일을 여는 기능이 없다. 이에 대응되는 패키지.


5. linter

문법 오류를 나타내주는 패키지. 필요한 언어에 맞게 추가적으로 더 설치하면 된다.

아래에도 소개되어 있지만, 난 linter-gcc를 추가로 설치했다.


6. set-syntax

Plain text에서 언어 지정할 때 command palette(ctrl + shift + P / cmd + shift + P)로 쉽게 지정할 수 있는 패키지.


7. simple-drag-drop-text

atom 내에서 선택한 단어를 마우스로 끌어서 이동시킬 수 있는 패키지.


8. tool-bar

atom 상에 툴바 아이콘을 만들어주는 패키지.

해당 패키지만 설치하면 empty 버전이라 아무 것도 뜨지 않는다. tool-bar에 대응되는 하위 패키지들을 추가로 설치해야 한다.


8-1. tool-bar-main

기본적인 툴바만 지원해준다.


8-2. tool-bar-atom

project-manager, expose, platform-ide-terminal 등 tool-bar-main보다 다양한 툴바를 지원한다.


9. platformio-ide-terminal

atom에서 터미널을 불러오는 패키지. 윈도우에서는 디폴트로 PowerShell과 연결된다.

원래 terminal-plus를 사용하려고 했는데 제대로 실행되지 않아 이걸로 대체했다.

terminal-plus를 fork한 거라 설명도 되어 있고, 내 PC에서도 잘 작동한다.


이 패키지는 PlatformIO이라 하는 atom에 적용시킬 수 있는 IDE에 포함되어 있는 패키지 같은데,

c와 c++에 초점을 두어 나온 IDE 같으니 나중에 한 번 설치해서 사용해보는 걸로.


10. expose

atom에서 띄워놓은 창들을 한 눈에 보기 쉽게 나타낼 수 있는 패키지.

개인적으로 비주얼이 마음에 든다.


11. atom-clock

atom 우측 하단에 시간을 띄워주는 패키지.

자신이 원하는 포맷으로 설정할 수 있다.


12. file-icons

파일의 확장자 아이콘을 지원해주는 패키지.

테마에서 아이콘이 지원되지 않을 경우 이걸 사용하면 좋다.


13. project-manager

프로젝트를 관리할 수 있는 패키지.

경로와 이름을 지정해두면 해당 패키지를 통해 언제든지 프로젝트를 다시 불러올 수 있다.


14. highlight-line

현재 라인 혹은 블록을 강조해주는 패키지.

밑줄 추가도 가능하고, 코드를 수정해서 밑줄이나 블록 색상도 변경이 가능하다.








C언어 관련




1. gpp-compiler

간단하게 사용할 수 있는 gcc 컴파일러다.

컴파일 옵션도 변경할 수 있어서 터미널 없이 실행할 때 좋다.


2. linter-gcc

c와 c++에서 gcc 문법 오류를 나타내주는 패키지. linter가 설치되어 있어야 한다.


3. docblockr

C언어에서 주석 처리를 좀 더 효율적으로 해주는 패키지다.

C언어 뿐만 아니라 Java, PHP 등에서도 같이 사용할 수 있지만 나는 C만 쓰기에...








Julia 관련




1. uber-juno

Juno라 하는 Julia IDE를 atom에 설치해주는 패키지.

julia-client, ink, latex-completions 이 3가지 패키지가 uber-juno를 통해 설치되고, 추가적인 세팅도 알아서 해준다.

만약 uber-juno를 통해 설치하지 않고 위의 3가지 패키지를 따로 설치한다면 일일히 설정을 자기가 다 해줘야 한다.


julia-client가 메인이라 보면 되고, ink가 툴킷으로 보면 된다.

latex-completions은 특수문자들은 latex으로 입력할 때처럼 해주는 건데 Julia를 사용하는데 있어 필수는 아니지만 요긴하다.

오히려 나는 latex-completions을 c에서 주석 다는 용도로 자주 쓴다.


2+2 예제까지 해본 뒤 설치가 완료되면 uber-juno는 삭제해도 괜찮다. 








Github 관련




1. git-plus

터미널 열 필요 없이 git을 쓸 수 있는 패키지.

간단한 처리를 하거나 커밋할 때 유용하게 쓸 수 있다.


2. git-control

atom 내에서 실행되는 git 관련 GUI 패키지.

sourcetree를 따로 쓰고 있긴 하지만 위의 git-plus와 같은 이유와 atom 내에서 다 가능하다는 점에서 괜찮은 패키지다.


3. markdown-preview-plus

기존의 markdown-preview에서 MathJax까지 구현할 수 있는 패키지.

(그 외의 기능들도 있는 거 같지만 저 MathJax 기능 하나만 보고 다운받은 거라)

사용하려면 markdown-preview를 disable로 변경해야 한다.








기타




1. language-matlab

matlab은 matlab 내에서 쓰는 게 가장 좋지만, 정말 가끔 atom으로 m 파일을 편집할 때가 있다.

그럴 때 m 파일을 Matlab으로 지정해주기 위해 해당 패키지를 설치했다.

matlab은 matlab에서만 돌리는 걸로...


2. language-cuda

cuda도 사용해야 할 일이 생겨서 설치.






gcc 6.2.1을 사용하고 있고, Homebrew로 Open MPI를 설치(brew install openmpi)했다는 가정 하에 진행한다.

OS X에서는 Open MPI가 clang이 기본 설정으로 되어 있다.

그걸 gcc로 수정하는 과정이다.


터미널에서 /usr/local 내에 mpicc-wrapper-data.txt라는 파일이 어디에 있는지 다음의 명령어로 찾아낸다.


$ find /usr/local -name mpicc-wrapper-data.txt


그 위치를 따라가 텍스트 파일을 연다.

그러고 나서 compiler= 라고 되어 있는 곳을 찾아 clang 대신 gcc-6 혹은 gcc(gcc-6을 gcc로 연동시켜 놓았다면)로 수정한다.


위와 같은 방법으로 mpic++-wrapper-data.txt라는 파일을 찾아 g++-6 혹은 g++로 수정한다.








Reference)

http://stackoverflow.com/questions/26812780/linking-homebrew-compiled-openmpi-or-mpich2-to-homebrews-gcc




gcc로 C언어를 컴파일하던 중에 다음과 같은 에러가 뜨며 실행되지 않은 적이 있었다.


'for' loop initial declarations are only allowed in c99 mode use option -std=c99


for loop initial declaration을 할 경우 발생하는 에러다.

ex. for (int i = 0; i < 10; i++)

c99에서만 지원하기 때문에 -std=c99라는 옵션을 추가해서 c99로 바꿔서 컴파일을 하라는 말인데,

이렇게 하는 것보단 for loop 안에 들어가는 변수의 declaration을 loop 밖에서, 전에 미리 해두는 게 차라리 낫다.








Reference)

http://www.dreamincode.net/forums/topic/232288-codeblocks-for-loop-initial-declarations-are-only-allowed-in-c99-mode/

'Programming > C' 카테고리의 다른 글

Intel MKL 설정하기  (0) 2016.11.28
OS X에서 gcc로 Open MPI 설행하기  (0) 2016.11.15
OS X에서 OpenMP 실행하기  (0) 2016.11.09
OS X에서 gnuplot 설치하기  (0) 2016.11.08
Linux에서 #include <math.h> 사용하기  (0) 2016.11.08

 


 

우선, Xcode에서 지원하는 gcc와 clang으로는 OpenMP를 사용할 수 없다.

gcc 버전이 4.2.1이라 OpenMP를 사용할 수 없고, apple의 clang도 여전히 OpenMP를 지원하지 않기 때문에 다른 방법으로 OpenMP를 실행해야만 한다.

검색해서 찾아보니 2가지 방법을 알게 되었는데, 1번째는 clang-omp를 설치해서 실행하는 방법이고, 2번째는 최신 버전의 gcc를 설치하여 실행하는 방법이다.

(최신의 LLVM을 설치하여 clang과 llvm-gcc를 이용하는 방법도 있으나, 해보지 않아서 확실하지 않기에 나중에 해본 뒤 서술하겠다)


2016. 11. 28. gcc-6를 gcc로 변경하는 방법 추가

 

 

 



 

 

1. clang-omp로 실행하기

 

 

homebrew를 이용하여 터미널에서 다음과 같이 설치한다:

다만 바로 설치하려고 하면 homebrew에서 찾지 못하므로, 다음과 같이 tap을 한다.

 

$ brew tap homebrew/boneyard

 

그 다음에 clang-omp를 설치한다.

 

$ brew install clang-omp

 

설치가 다 되었으면 untap을 한다.

 

$ brew untap homebrew/boneyard

 

테스트를 하기 위해 간단한 코드를 짠 뒤 OpenMP를 다음과 같이 실행해보고 결과가 잘 나오는지 확인해본다.

 

 

$ clang-omp -fopenmp hello.c -o hello_clang

$ ./hello_clang

 

결과는 다음과 같이 나와야 한다.

 

TBA

 

 

 



 

 

2. gcc로 OpenMP 실행하기

 

 

최신 버전(현재 6.2)의 gcc를 설치하기 위해 homebrew를 이용하여 재설치한다.

정확히 기억은 나지 않지만,

brew reinstall gcc로 해서 재설치를 하면 multilib이 포함된 gcc라 OpenMP가 작동하지 않을 수도 있다고 하며,

multilib이 없는 gcc(brew reinstall gcc --without -multilib)로 설치하라고 안내가 뜰 거다.

그래서 brew reinstall gcc로 하는 과정을 생략하고 어떻게 설치과정을 거쳤는지 설명하겠다.


우선, 아래와 같이 터미널에서 입력해본다.

 

$ brew reinstall gcc --without -multilib

 

아마 다음과 같은 에러가 뜨면서 권한을 요청할 것이다.

 

Error: Permission denied - /usr/local/share/man/man7/fsf-funding-6.7

 

chmod를 이용해 설치하는 동안에만 권한을 수정한다.

 

$ sudo chmod 777 /usr/local/share/man/man7

 

이후 재설치를 다시 해본다.

 

$ brew reinstall gcc --without -multilib

 

설치하는 데 시간이 좀 걸린다. 설치가 다 되면 다시 권한을 되돌려 놓는다.

 

$ sudo chmod 755 /usr/local/share/man/man7

 

우리가 사용할 gcc 6.2는 gcc-6으로 지정되어 있다.

기존의 gcc는 위의 Xcode에서 받은 4.2.1 버전으로 실행되므로, OpenMP를 실행할 때 gcc-6으로 시작해서 하면 된다.

위의 예시를 다음과 같이 실행해본다.

 

$ gcc-6 -fopenmp hello.c -o hello_gcc

$ ./hello_gcc

 

결과는 위에서 했던 것과 똑같이 나올 것이다.



gcc-6로 계속 사용하는 게 불편하니 gcc로 gcc-6을 불러오게끔 수정한다.

homebrew로 설치하면 gcc-6의 위치는 /usr/local/bin일 것이다.

다른 방법으로 설치했거나 다를 경우 which를 이용해서 확인해본다.


$ which gcc-6


해당 위치로 이동한다. 여기서는 /usr/local/bin로 전제하고 한다.


$ cd /usr/local/bin


gcc-6, g++-6의 심볼릭 링크를 gcc, g++로 생성한다.


$ ln -s gcc-6 gcc

$ ln -s g++-6 g++


PATH를 확인해본다. 내 경우엔 /usr/local/bin이 기존 apple의 gcc 위치(/usr/bin)보다 앞에 있어서 수정할 필요가 없었다.


$ echo $PATH


앞에 없을 경우 .bash_profile 파일을 열어 위의 주소를 추가한다.

vim을 잘 다루지 못해 난 atom으로 열어서 수정했다.


export PATH=/usr/local/bin:$PATH 


터미널을 재부팅한 뒤 위의 예시에서 gcc-6 대신 gcc로 실행해본다.


$ gcc -fopenmp hello.c -o hello_gcc

$ ./hello_gcc


굳이 예제를 이용하지 않고 -v나 which를 이용해서 체크해도 상관없다.

 

 

 



 

 

Reference)

http://stackoverflow.com/questions/35134681/installing-openmp-on-mac-os-x-10-11

https://clang-omp.github.io

http://stackoverflow.com/questions/28970935/osx-replace-gcc-version-4-2-1-with-4-9-installed-via-homebrew/28982564#28982564







C에서는 그래프를 표현할 수 있는 수단이 없는데, gnuplot을 이용하면 가능해진다.

솔직히 데이터만 저장해서 Matlab으로 그리는 게 훨씬 더 좋다고 느끼지만...; 

그래도 C에서 바로 그린다는 게 특이해서 설치해보기로 했다.


다만 아직 터미널 쓰는 게 능숙하지도 않고,

맥에 대해 이것저것 모르는 게 많다 보니 설치하는 데 있어 좀 많이 헤맸다.

그래서 OS X에서 gnuplot를 설치하기 위해 내가 어떤 과정을 겪었고, 어떻게 해결했는지에 대해 써보고자 한다.








1. Xquartz 설치

 

 

x11을 사용하기 위해 설치한다.

OS X에서는 더이상 x11을 지원하지 않는다.

 

https://www.xquartz.org/

 

 

 



 

 

2. gnuplot 설치

 

 

Homebrew로 gnuplot을 설치하기 위해 터미널에서 다음의 명령어를 입력한다.

 

$ brew install gnuplot --with-x11

 

정상적으로 설치가 되면 다행인데, 아마 다음과 같은 에러가 뜰 거다.

(다른 에러가 뜰 수도 있다)

 

Error:  You must `brew link libpng fontconfig libtiff` before gnuplot can be installed

 

에러 메세지를 읽어보면 설치하기 전에 brew link libpng fontconfig libtiff를 하라고 한다.

하라는 대로 해보자.

 

$ brew link libpng fontconfig libtiff

 

해보면 또 안된다. 아래와 같은 에러가 뜬다.

 

Could not symlink share/man/man3/libpng.3 & /usr/local/share/man/man3 is not writable.

 

/usr/local/share/man/man3에서 쓰기 권한이 부여되지 않아 생긴 일이다.

해당 폴더에서 직접 권한을 수정하거나 chmod를 통해 권한을 수정하자.

이런 권한 수정은 sudo를 필요로 하므로 앞에 sudo를 붙여 다음과 같이 입력하자.

 

$ sudo chmod 777 /usr/local/share/man/man3

 

디폴트는 755이니 설치 후 다시 원상복귀시키자. 위에서 실행되지 않았던 brew link를 다시 해본다.

 

$ brew link libpng fontconfig libtiff

 

그 다음 다시 처음 입력했던 brew install을 한다.

 

$ brew install gnuplot --with-x11

 

마지막으로, man3 폴더의 권한을 원상태로 돌려놓는다.

 

$ sudo chmod 755 /usr/local/share/man/man3

 

 

 

 



 

 

3. 설치 확인 및 예제

 

 

TBA

 

 

 

 



 

 

Reference)

http://www.noktec.be/archives/1553 

http://apple.stackexchange.com/questions/103814/cant-plot-with-gnuplot-on-my-mac







Linux에서 c언어를 gcc로 컴파일할 때 수학 관련 함수들(sin, cos, sqrt 등)이 에러가 뜨며 실패할 때가 있다.

정확한 이유는 모르겠지만... linux에서의 gcc는 다른 OS들과 달리 math library(#include <math.h>)를 인지하지 못하나 보다.

그래서 command line에 -lm을 추가해야 정상대로 작동한다.








Reference)

http://stackoverflow.com/questions/10447791/what-does-lm-option-do-in-g




+ Recent posts