exe 파일의 실행전에 PATH 환경 변수를 임시적으로 변경하는 방법이 있을까요?

kleinstein의 이미지

개발환경> window xp sp3, visual studio 2008, unmanaged c++ .

개발하고 있는 어플의 버전들마다 각각 다른 버전의 (그러나 동일한)라이브러리를 사용하고 있습니다.

예를 들면 개발하는 어플의 이름이 X 라고 하면..

X 의 version 1에서는 QT 4.5를 사용하고

X 의 version 2에서는 QT 4.6를 사용하고

X 의 version 3에서는 QT 4.7를 사용하는 경우입니다. 물론 QT는 각 버전별로 모두 설치되어 있습니다. c:\qt 4.5, c:\qt 4.6, c:\qt 4.7 이런 식으로 말이지요..

이럴때 X의 각 버전에 따라 코딩을 하고 테스트를 하려면 visual studio 를 열기전에 매번 버전에 맞는 PATH 등의 환경변수를 바꿔주어야 하는게 너무 불편해서 인터넷을 좀 검색해보았더니 이런 툴이 있더군요.

http://workspacewhiz.com/SolutionBuildEnvironmentReadme.html

그런데 이 툴로는 Debug 모드로 빌드하고 Debug 모드로 빌드된 exe를 실행할때는 모두 잘 작동합니다만..

Release 모드로 빌드한 다음(빌드까지는 잘 됩니다.) 이 exe를 visual studio 안에서 실행할때는 PATH 환경변수를 인식을 못하는듯 dll 파일들을 찾지 못한다는 에러메세지가 뜨더군요..

그래서 이곳에 질문을 드리고 싶은건데요..

혹시 exe 파일의 실행전에 PATH 환경변수를 임시적으로 바꿔주는 그런 방법이 visual studio에 혹시 있을까요?

굳이 visual studio에 없다면 .. 다른 방법은 없을까요?

shint의 이미지

Qt Command Prompt는 이렇게 되있던데요.
경로를 조금 변경해주시면 될거같습니다.
C:\WINDOWS\system32\cmd.exe /K C:\Qt\2010.05\bin\qtenv.bat

echo Setting up a MinGW/Qt only environment...
echo -- QTDIR set to C:\Qt\2010.05\qt
echo -- PATH set to C:\Qt\2010.05\qt\bin
echo -- Adding C:\Qt\2010.05\bin to PATH
echo -- Adding %SystemRoot%\System32 to PATH
echo -- QMAKESPEC set to win32-g++
set QTDIR=C:\Qt\2010.05\qt
set PATH=C:\Qt\2010.05\qt\bin
set PATH=%PATH%;C:\Qt\2010.05\bin;C:\Qt\2010.05\mingw\bin
set PATH=%PATH%;%SystemRoot%\System32
set QMAKESPEC=win32-g++

//여기서 notepad를 실행하고 싶다면
notepad.exe //를 추가하면 되겠죠;;;;

//덧붙여서 vs 명령어 프롬프트는 이런식으로 실행하더군요.
%comspec% /k ""C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"" x86
%comspec% /k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86

//근데.... 정작 저는 그냥 해당 dll을 그대로 같은 폴더에 복사해놓고 사용합니다.
//어차피 배포하려면 한곳에 모아두고 쓰는게 편해서요;;;;

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

kleinstein의 이미지

아.. 죄송합니다.. 제 실수였네요.

또다른 라이브러리 밑에 있던 다른 QT 의 dll이 불려와서 안됐던 거였습니다.

한마디로 http://workspacewhiz.com/SolutionBuildEnvironmentReadme.html 만세!! 입니다.

그리고 이게 안되었다면 정말 말씀해주신 배치파일이 유일한 답안일것 같습니다. 감사드립니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.