Visual Studio で絶対パスを読み取らない C++ プログラムがあります。
次のコードは、私のデスクトップ環境 (Windows 7、Visual Studio 2010、64 ビット) で動作します。ただし、私の macbook では、まったく同じ Visual Studio 2010 を持つ Windows 7 64 ビット仮想マシンに対して bootcamp や VMware を実行しています。
この問題を修正するための私の試み:
デスクトップとMacbookの絶対パスが同じであることを確認しました。さらに、デスクトップで2回行ったのと同じ方法でwaveファイルを読み取るために、サードパーティのライブラリをインストールしたことを2回確認しました.
デスクトップで実行するプログラムを書き直し、Macbook にライブラリを再インストールしました。デスクトップではより単純なプログラムが動作しますが、残念ながら、Macbook では絶対パスを読み取ることができませんでした。
パスではなく、実際のプロジェクト ソリューション自体に wav ファイルを移動しました。変化なし。
グーグル。
あなたの利益のために、コードを一番下に含めます。libsndfile ライブラリを使用して wav ファイルを読み込みました。非常に古い粗末な Windows ラップトップを使用しようとするだけかもしれませんが、Macbook VM マシンで何が問題になるのか理解できません。
// WaveReader.cpp : main project file.
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <sndfile.h>
using namespace System;
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
SNDFILE *sf;
SF_INFO info;
/*Open the wav file. */
info.format = 0;
sf = sf_open("C:\\Users\\geekyomega\\gameover.wav",SFM_READ,&info);
if (sf == NULL)
{
printf("Failed to open the file.\n");
getchar();
exit(-1);
}
}
このプログラムを実行したときの私の出力は
Failed to open the file
いつものように、この質問を読んでいただきありがとうございます。どなたかの助け、援助、または知恵をいただければ幸いです。特に、同様の問題に遭遇した場合。
よろしく、 GeekyOmega