在Eclipse中运行由C ++代码生成的exe文件时,MVCP100D.dll丢失

时间:2016-05-31 17:45:38

标签: c++ eclipse windows-7 visual-studio-2015 ampl

我正在尝试使用AMPLAMPL-API与C / C ++集成。我在Eclipse中创建了一个Makefile项目,它使用MinGW CC来编译代码。

  

这是我的C ++代码:

#include <iostream>
#include "ampl/ampl.h"

using namespace std;

int main() {
    ampl::AMPL ampl;

    // Read the model and data files.
    std::string modelDirectory = "models";
    ampl.read(modelDirectory + "/diet/diet.mod");
    ampl.readData(modelDirectory + "/diet/diet.dat");

    // Solve
    ampl.solve();

    // Get objective entity by AMPL name
    ampl::Objective totalcost = ampl.getObjective("total_cost");
    // Print it
    std::cout << "Objective is: " << totalcost.value() << std::endl;
}
  

以下是我的Makefile:

CC = g++
CFLAGS = -O2 -g -Wall -fmessage-length=0
INCLUDES = -I "C:\\Local\\AMPL\\amplide.mswin32\\amplide.mswin32\\amplapi\\include"
OBJS = AMPL.o
LIBS =  -lampl1.2.2 
TARGET = AMPL.exe
$(TARGET):  $(OBJS)
    $(CC) -L "./" -o $(TARGET) $(OBJS) $(LIBS)
AMPL.o: AMPL.cpp
    $(CC) $(CFLAGS) $(INCLUDES) -c AMPL.cpp
all:    $(TARGET)
clean:
    rm -f $(OBJS) $(TARGET)
  

我的项目目录的内容是:

  • .settings /
  • 模型/
    • 饮食/
      • diet.dat
      • diet.mod
  • .cproject
  • 的.project
  • AMPL.cpp
  • AMPL.exe
  • AMPL.o
  • ampl1.2.2.lib
  • 生成文件

我有一台32位Windows 7机器,它同时安装了Eclipse Mars 2.0和Visual Studio 2015。每当我运行exe文件时,它都说MVCP100D.dll丢失了。我查看了网络,发现当错过Visual C ++ Redistributable时,通常会出现此错误。但是我的系统上安装了可再发行组件。请帮帮我。

更新:我尝试在Visual Studio 2015上执行相同的代码,并且它也可以编译,但是,我无法运行* .exe文件。它还说MVCP100D.dll丢失了。我不确定为什么会出现这个错误,请帮助!!

更新:下载更新的版本可在Visual Studio 2015中使用,但面临其他帖子中指定的单独问题:Undefined reference to (error) in C++ Eclipse but working in Visual Studio 2015

1 个答案:

答案 0 :(得分:0)

这是AMPL C ++ API测试版中的错误。作为快速修复,可从http://ampl.com/products/api下载的更新发行版包括这些DLL。永久修复将在下一个纠正版本中提供。