multiple i2c devices with arduino

HI,

i am trying to interface SSD1306 and MLX90614 i2c devices with ESP8266 mcu. but both devices are not working together..
if i comment out code for display then it is working for mlx90614.
Here is part of my code..

#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include "SSD1306Wire.h"


Adafruit_MLX90614 mlx = Adafruit_MLX90614();
//SSD1306Wire  display(0x3c, D3, D4);

void setup() {
  Serial.begin(9600);
  Serial.println("Adafruit MLX90614 test");  
  mlx.begin();  
  Wire.begin(D2,D1);

  /************************************/
//  display.init();
////  display.setI2cAutoInit(true);
//  display.flipScreenVertically();
//  display.setFont(ArialMT_Plain_16);
//  display.drawString(128, 33, "Right aligned (128,33)");
}

void loop() {
  Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempC()); 
  Serial.print("*C\tObject = "); Serial.print(mlx.readObjectTempC()); Serial.println("*C");
  Serial.print("Ambient = "); Serial.print(mlx.readAmbientTempF()); 
  Serial.print("*F\tObject = "); Serial.print(mlx.readObjectTempF()); Serial.println("*F");

  Serial.println();
  delay(500);
}

i am using MLX90614 library from Adafruit and following library for oled display

You should change the subject of your thread. An ESP8266 is not an Arduino.

i am using MLX90614 library from Adafruit and following library for oled display
GitHub - ThingPulse/esp8266-oled-ssd1306: Driver for the SSD1306 and SH1106 based 128x64, 128x32, 64x48 pixel OLED display running on ESP8266/ESP32

That library sets the I2C frequency up to 700kHz which is too high for the MLX90614. You have to adapt the library to make it compatible with your sensor.