Programming/C, C++6 [C++, Error] (centos) cannot find -lstdc++ 1. 문제 centos 에서 컴파일 시 아래와 같은 에러가 나온다면 centos cannot find -lstdc++ 2. 원인 해당 라이브러리가 설치가 안되어 있어서 링킹 에러가 나타남 3. 조치 -m32 컴파일 시 i686 yum install libstdc++-devel.i686 yum -y install libstdc++.i686 yum -y intstall ncurses-devel.i686 -m64 컴파일 시 x86_64 yum -y intstall ncurses-devel.x86_64 yum -y install libstdc++-devel.x86_64 yum -y install libstdc++.x86_64 2020. 6. 24. [Linux, C/C++] undefined reference to '__gxx_personality_v0' 오류 조치 1. 증상 undefined reference to '__gxx_personality_v0' 2. 원인 : 리눅스 서버에서 gcc로 c++, cpp파일을 컴파일 할때 아래와 같은 에러가 발생한다. 이는 gcc가 c++용 컴파일러가 아니기 때문에 바로 잡아주면 바로 해결이 가능하다. 3. 조치 조치1: gcc를 이용해서 에러를 제거 하고 싶을때는 -lstdc++ 옵션을 붙여서 컴파일 gcc -lstdc++ -o main main.cpp 조치2: gcc가 아니라 g++로 컴파일 g++ -o main main.cpp TMI 리눅스에서 컴파일을 할때는 Makefile을 꼭 이용하는 습관을 기루기 바랍니다. 모두들 좋은 하루 되세요~ 2020. 4. 9. [C, Error] error: use of undeclared identifier '함수' 1. 문제 키워드 error: use of undeclared identifier 'getpid'; did you mean 'set_pid'? or 'set_pid' declared here (해석해보면: 선언부가 없어서 그러하다.) 2. 원인 아래의 코드에서 보면 main함수위에 선언부가 없음을 확인할 수 있다. #include #include #include #define PID_FILE "/test.pid" int main() { return 0; } int set_pid() { FILE* fp = fopen (PID_FILE, "w" ); if (fp) { fprintf (fp, "%d", getpid()); fclose (fp); printf (" ==.. 2020. 4. 9. [C++, Error] unresolved overloaded function type 1. 문제 키워드 unresolved overloaded function type (해석해보면: 해결되지 않은 오버로드 된 함수 유형) 2. 원인 함수를 매개변수를 쓰고자 할때 포인터를 못찾아서 발생하는 경우가 있다. class Ccompare { private: int (*item_compare)(void *, void *); public: int set_compare(int _compare(void *, void *) = this->compare) { // .. 중간 생략 item_compare = _compare; return 1; } int compare(void *p_void_1, void *p_void_2) { // .. 중간 생략 return 1; } } 3. 조치 : 위의 같은 경우는 컴파.. 2019. 7. 22. [Linux,C++] getenv.c: undefined reference secure_getenv [Linux] getenv.c: undefined reference secure_getenv [C++] update glibc to 2.17 for CentOS 6 1. 증상 getenv.c undefined reference secure_getenv getenv.c:(.text+0x1): undefined reference to `secure_getenv' 2. 원인 secure_getenv 함수는 glibc 2.17 이상 시 사용 가능하다. **secure_getenv**() first appeared in glibc 2.17. --> secure_getenv 함수 원문: 3. 조치 필자는 CentOS 6 x86_64를 사용하고 있어서, glibc 2.17 centOS 6 버전을 업데이트한다. 여기서.. 2019. 3. 29. [C/C++] 소켓에서 컴파일 에러 (invalid conversion from int* to socklen_t*) [C/C++] 소켓에서 컴파일 에러 (invalid conversion from int* to socklen_t*) 증상: 소켓 프로그래밍에서 gcc / g++ 컴파일 시 아래와 같이 에러가 발생될 경우error: invalid conversion from int* to socklen_t*자료형이 안맞는 관계로 그렇게 어렵지 않다. ^^ 해결 방안 1: 자료형 선언을 변경한다. int 대신에 socklen_t로 변경// Define clientLen as socklen_t: socklen_t clientLen; // instead of int clientLen; 해결 방안 2: (socklen_t*) 앞에 붙여 자료형을 맞춘다.int clientLen = 0; // Change client.. 2019. 2. 26. 이전 1 다음 반응형