단순히 사용하는 Qt DLL들만 같이 배포하면 될 줄 알았는데, 생각보다 쉽지 않더군요.
기본 Qt DLL들과 C/C++ Run Time DLL들이 빠진 경우는 실행될 때 이름을 알려주고 죽기 때문에 쉽게 해결할 수 있습니다.
문제는 plugin들이죠.
plugin들은 필요할 때 동적으로 로딩을 하기 때문에 경우에 따라서는 찾기 힘들 수도 있습니다.
죽을때 DLL 파일명도 안 알려줍니다. DependencyWalker로 확인해봤자 안나옵니다...ㅡ,.ㅡ;;
어떤 plugin DLL이 필요한지 알고 나서도 해결이 쉽지 않더군요. 왜냐하면, 놀랍게도 기본 라이브러리 위치가 하드코딩되어 있거든요.. 게다가 plugin들의 기본 폴더 구조를 유지해줘야 합니다...ㅡ,.ㅡa
자세한 내용은 아래 링크를 읽어보길 바라며, 왠만하면 정적으로 묶으세요.. ㅡ.,ㅡ;;
Qt 4.5: Deploying an Application on Windows
'프로그래밍 > QT' 카테고리의 다른 글
| Qt 라이브러리를 동적으로 로드하는 응용 프로그램 배포 방법 (0) | 2009/10/07 |
|---|---|
| Ubuntu 9.04 Desktop Edition에 WMware Tools 설치하기 (0) | 2009/07/27 |
| 'qt_metatype_id' is not a member of `QMetaTypeId<xxxx>' (0) | 2009/06/26 |
| No source available for ntdll!LdrAccessResource() (0) | 2009/06/26 |
| No line 0 in file "xxx.cpp". (0) | 2009/06/26 |
| mi_cmd_var_create: unable to create variable object (1) | 2009/06/26 |
중요한 점만 요약하자면 아래와 같습니다.
- 놀랍게도, C++ 표준상 기본 wfstream은 유니코드를 SBCS 혹은 MBCS 코드로 변환하여 입출력하도록 되어 있습니다.
- 다행히, locale의 codecvt 객체가 코드를 변환을 담당하므로 이 객체를 바꾸면 변환을 막을 수 있습니다.
- 유니코드 파일에서 유니코드 문자열을 읽기 위해서 아무 변환하지 않는 codecvt를 정의하고 객체를 생성하여 현재 locale에 imbue하면 됩니다.
- 주의 사항
- 파일을 열기 전에 codecvt 객체를 교체해야 한다.
- Windows 시스템에서는 파일을 binary 모드로 열어야 합니다. 아니면, 0xA(10)을 만날때마다 CR/LF로 변환합니다..ㅡ,.ㅡ;;
이상입니다.
'프로그래밍' 카테고리의 다른 글
| C++에서 wfstream을 이용한 Unicode 파일 입출력 (0) | 2009/09/21 |
|---|---|
| '-fshort-wchar' 옵션 (0) | 2009/09/11 |
| "ln: creating symbolic link 'xxx' to 'yyy': Operation not supported" (0) | 2009/09/11 |
| shared library on Linux (0) | 2009/08/12 |
| VMware에 설치된 가상 Ubuntu에 NFS 서버 설정하기 (1) | 2009/07/31 |
| 폰트 맵핑 테이블을 위한 Excel 문서 생성 프로그램 (0) | 2009/06/23 |
윈도우 프로그램을 포팅할 때 주로 삽질하는 부분입니다.
다행히 강제적으로 wchar_t를 2바이트로 인식하게 하는 옵션이 있습니다.
바로 '-fshort-wchar'이죠.
머, 가끔 저렇게해도 안되는 경우가 있습니다.
그럴땐 typedef 신공을 쓰시길..
'프로그래밍' 카테고리의 다른 글
| C++에서 wfstream을 이용한 Unicode 파일 입출력 (0) | 2009/09/21 |
|---|---|
| '-fshort-wchar' 옵션 (0) | 2009/09/11 |
| "ln: creating symbolic link 'xxx' to 'yyy': Operation not supported" (0) | 2009/09/11 |
| shared library on Linux (0) | 2009/08/12 |
| VMware에 설치된 가상 Ubuntu에 NFS 서버 설정하기 (1) | 2009/07/31 |
| 폰트 맵핑 테이블을 위한 Excel 문서 생성 프로그램 (0) | 2009/06/23 |
"ln: creating symbolic link 'xxx' to 'yyy': Operation not supported"

그런데, 마지막에 위와 같은 에러가 발생하더군요.
깨름칙하게시리..
찾아보니 FAT나 NTFS 포맷은 심볼릭 링크를 지원하지 않는다는군요.
VMware의 Shared folder해놓은 폴더에서 빌드했거든요..^^;;
'프로그래밍' 카테고리의 다른 글
| C++에서 wfstream을 이용한 Unicode 파일 입출력 (0) | 2009/09/21 |
|---|---|
| '-fshort-wchar' 옵션 (0) | 2009/09/11 |
| "ln: creating symbolic link 'xxx' to 'yyy': Operation not supported" (0) | 2009/09/11 |
| shared library on Linux (0) | 2009/08/12 |
| VMware에 설치된 가상 Ubuntu에 NFS 서버 설정하기 (1) | 2009/07/31 |
| 폰트 맵핑 테이블을 위한 Excel 문서 생성 프로그램 (0) | 2009/06/23 |
신림 사거리에서 관동 교장까지 가는 방법입니다.
- 신림 사거리 정거장에서 도시형 버스 1번 혹은 5530번 버스에 승차
- 안양 '교보생명, 왕국예시장, 시외버스 터미널, 안양역' 정거장에서 하차
- 1번 마을 버스 승차
- 종점인 '관동 교장'에서 하차
시간은 총 1시간 좀 넘게 걸립니다. 1시간 30분 전에 출발하면 넉넉할껍니다.
덧1. 안양역에서 내렸는데 '킹덤' 예식장이 보여도 놀라지 마세요. '왕국' 예식장이니..ㅡ.,ㅡ;;
덧2. 원래 마을 버스 종점은 '박달 교장'이었는데 최근에 연장됐답니다. 그래서 그런지, 기사분들이 안내해 줍니다.
덧3. 왜 '관동'이라는 이름이 붙었는지 살짝 궁금했었는데, 관악구, 동작구의 첫글자를 딴거더군요.
덧4. 이저저도 귀찮으면 관광버스가 편합니다. 출퇴근하면 천원 할인..ㅡ.,ㅡ a
'etc.' 카테고리의 다른 글
| 관동 교장 가는 방법 (0) | 2009/09/09 |
|---|---|
| 애드센스 코리아 트위터 오픈! (0) | 2009/07/29 |
1.1 소스 컴파일 옵션에 '-fPIC' 옵션 추가
- 라이브러리가 프로세스 내의 다른 가상 주소로 로드될 수 있도록 하는 옵션
1.2 오브젝트 링크 옵션에 '-shared' 옵션 추가
- 공유 라이브러리를 생성하는 옵션
- 정확히 링크하는지는 모르겠음..ㅡ.,ㅡa
2. shared library 링크 방법
2.1 오브젝트 링크 옵션에 '-L라이브러리 경로 -l라이브러리 이름' 추가
- 라이브러리 이름은 파일명에서 접두사인 'lib'와 확장자인 '.so'를 제거한 것이다.
- ex) '/usr/lib/libMyLibrary.so' -> '-L/usr/lib -llibMyLibrary'
3. troubleshooting
3.1 error while loading shared libraries: libMyLibrary.so: cannot open shared object file: No such file or directory
- 공유 라이브러리가 지정된 경로에 없는 경우에 발생함.
- '/etc/ld.so.conf' 파일이나 LD_LIBRARY_PATH 환경변수에 라이브러리가 있는 경로를 추가하면 됨.
3.2 skipping incompatible /usr/lib/libMyLibrary.so when searching for -llibMyLibrary
- 라이브러리를 빌드한 환경과 사용하려는 환경이 다른 경우 발생함.
- 종류가 다른 컴파일러 혹은 호환 되지 않는 버젼의 컴파일러로 빌드된 경우일 가능성이 높음.
4. 참고 사이트
- shared library 생성
- Program Library HOWTO
'프로그래밍' 카테고리의 다른 글
| '-fshort-wchar' 옵션 (0) | 2009/09/11 |
|---|---|
| "ln: creating symbolic link 'xxx' to 'yyy': Operation not supported" (0) | 2009/09/11 |
| shared library on Linux (0) | 2009/08/12 |
| VMware에 설치된 가상 Ubuntu에 NFS 서버 설정하기 (1) | 2009/07/31 |
| 폰트 맵핑 테이블을 위한 Excel 문서 생성 프로그램 (0) | 2009/06/23 |
| Eclipse에서 Visual Studio Key Scheme 사용하기 (0) | 2009/06/09 |
아래 링크로 따라가서 프로그램 다운받아 실행하면 제거됩니다~~
복구 기능도 있긴해요.
Live Advert Remover
최신 네이트온 광고 제거 프로그램은 아래 포스팅에 업데이트 되고 있습니다~~
네이트온 4.0 광고 제거 패치
'유용한 프로그램' 카테고리의 다른 글
| Messanger 배너 광고 제거 (0) | 2009/08/06 |
|---|---|
| Google 크롬 북마크 추출하는 방법 (0) | 2009/07/02 |
| 한글 CLCLClip v1.05 (0) | 2008/04/23 |
현재 작업하는 타겟 보드는 소스를 NFS를 통해서 가져옵니다. Windows에 NFS를 설치할려고 삽질해봤지만 잘안되더군요. 그래서 VMware에 설치해둔 Ubuntu를 사용할 수 있는지 알아보니 가능하더군요. 아래처럼 하면 됩니다.
1. 브릿지 네트워크로 설정
- 우선 가상 Ubuntu의 네트워크 설정을 Bridged Network로 설정해야 합니다. 그래야, 외부 컴퓨터에서 접근이 가능합니다. 저는 NAT를 사용하고 있었는데, 이건 호스트 컴퓨터가 라우터 역활을, 즉 공유기를 통해서 연결한 거와 같다고 합니다.
- 데스크탑이라면 'Replicate physical network connection state' 옵션은 꺼도 될 것 같습니다. 자세한 설명을 아래 링크를 참조하세요.
-
VMware - Replicate physical network connection state
- 설정화면
2. IP 지정
- 저는 고정 IP를 사용해서, DHCP에서도 가능한지는 모르겠습니다. 테스트해보고 알려주시면 감사~~^^;;
- IP 변경 후 아래 명령을 통해서 데몬을 재시작 했는데 IP가 갱신되지 않더군요. 그래서.. 여러 번 재부팅했습니다..ㅡ.,ㅡa
- sudo /etc/init.d/networking restart
3. NFS 서브 프로그램 설치
- sudo apt-get install nfs-kernel-server
4. NFS 서버 설정, 즉 공유 폴더 설정
- /etc/exports 파일 수정에 아래 세번째 링크를 참고해서 공유폴더를 추가하면 됩니다.
- 설정 화면
5. NFS 데몬 재실행
- sudo /etc/init.d/nfs-kernel-server restart
- sudo exportfs -r
- 수정된 /etc/exports 파일 반영하는 명령어 임.
이제 클라이언트에서 접속하면 될껍니다~
덧. 참고 사이트
'프로그래밍' 카테고리의 다른 글
| "ln: creating symbolic link 'xxx' to 'yyy': Operation not supported" (0) | 2009/09/11 |
|---|---|
| shared library on Linux (0) | 2009/08/12 |
| VMware에 설치된 가상 Ubuntu에 NFS 서버 설정하기 (1) | 2009/07/31 |
| 폰트 맵핑 테이블을 위한 Excel 문서 생성 프로그램 (0) | 2009/06/23 |
| Eclipse에서 Visual Studio Key Scheme 사용하기 (0) | 2009/06/09 |
| DelCVS and DelSVN, but export (0) | 2009/06/02 |
Prev
Rss Feed