이건,,,, jni에서 코딩을 하고 있을때였다.
jni에 thread pool을 연결해서 native에서 오는 event들을 queue에 넣어두고 thread가 일을 하게 하는.. 그런 클래스를 추가하고 있었는데,,,
문제는 Thread pool이 완성되고 나서 본래의 jni의 코드에 추가를 하고 나서 발생했다.
컴파일을 하니 Thread pool 클래스의 함수를 찾지 못하는 것이였다.
여러번 생각해도 답도 안나오고 이것 저것 해봐도 답이 안나왔다.
그러다가 아래의 글을 보면서 곰곰히 생각을 해봤다.
http://www.cplusplus.com/forum/unices/142922/
그리고 퇴근하기 3분전... 생각이 떠올랐다.
'미리 정해진 빌드 구조로 인해서 참조를 못하는 것일 수 있겠다.'
지금 하고 있는 빌드 구조상 classes.lst라는 파일에 파일의 이름으로 구조를 적어야지 컴파일이 되는 구조였다.
그렇다. 내가 하면 안될거를 하고 있었다.
jni에서 cpp을 사용하려면 classes.lst에 포함되어 있어야 했다.
(그 증거는 thread pool의 cpp부분을 인식되는 다른 클래스에 추가를 해보니 못보던 에러가 엄청 떠올랐다.)
이 버그의 교훈은 빌드의 범위에서 코딩을 해야지 안그러면 빌드가 안된다. 이다.
빌드가 어떻게 돌아가는지 확인하고 코딩하자...( 내 2일..)
'소프트웨어 > 버그 만난 후 느낀점' 카테고리의 다른 글
[ruby] /usr/local/lib/ruby/1.8/webrick/server.rb:91 error (0) | 2016.01.19 |
---|