如何在三个不同的.cpp文件中使用函数

Evr*_*urk 0 c c++ directx include

我有三个.cpp文件,名为MeshLoader.cpp,DynamicXMesh.cppStaticXMesh.cpp

我在MeshLoader.cpp文件中有一个名为FindTexturePath的函数,我想在DynamicXMesh.cppStaticXMesh.cpp文件中调用它.

我已经包括MeshLoader.cpp(#包括"MeshLoader.cpp")在启动文件XMesh文件,当然得到,说功能已经定义的错误...

我也尝试使用pragmaifndef ...:

//This is "MeshLoader.cpp"
pragma once

#ifndef MLOAD
#define MLOAD
  char* FindTexturePath( char* TexturePath ,LPSTR FileNameToCombine){
      ...
      ...
      ...
  }
#endif
Run Code Online (Sandbox Code Playgroud)

/////

//This is StaticXMesh.cpp
#include "MeshLoader.cpp"
...
...
...
this->StatXMeshTexturePath = FindTexturePath(StatXMeshTexturePath,d3dxMaterials[i].pTextureFilename);
...
...
Run Code Online (Sandbox Code Playgroud)

/////同样调用DynamicXMesh.cpp

我希望我能够清楚地解释自己......谢谢你给我的时间......

Nod*_*ode 8

你需要创建MeshLoader.h,并在其中添加这样的东西

#ifndef INCLUDED_MESH_LOADER_H
#define INCLUDED_MESH_LOADER_H

char* FindTexturePath( char* TexturePath ,LPSTR FileNameToCombine);

#endif
Run Code Online (Sandbox Code Playgroud)

并将其包含在您的其他cpp文件中.每个cpp文件只需要FindTexturePath的声明进行编译.因此,每当您需要在cpp public中为其他cpp文件创建函数时,请创建一个具有函数声明的.h文件.