PulseIn command with Proteus

I make simulation with PROTEUS 8. I use Arduino com mand pulseIn(). Proteus give me this error repport:
avr-gcc -Wl,--gc-sections -mmcu=atmega328p -o "./Debug.elf" "SIMULA~1.o" arduino/arduino.a -lm
arduino/arduino.a(wiring_pulse.o): In function pulseIn': wiring_pulse.c:(.text.pulseIn+0x4c): undefined reference to countPulseASM'
collect2.exe: error: ld returned 1 exit status
make: *** [Debug.elf] Error 1

How to solve this problem?

How to solve this problem?

Suggestions :

  1. Post the full code here
  2. Try compiling the code in the IDE. No Arduino board is required
  3. Ask for help in a Proteus forum

Compiling with Arduiono IDE does not show error.

Here is the code.
#define ZERO B11111100
#define ONE B01100000
#define TWO B10111110
#define THREE B11110010
#define FOUR B01100110
#define FIVE B10110110
#define SIX B10111110
#define SEVEN B11100000
#define EIGHT B11111110
#define NINE B11110110
#define DOTPOINT B00000001
#define DISPLAYNOT B00000000
#define SYMBMINUS B00000010
#define SYMBPLUS B01100010
#define PICO B11001110

#define digit1_cathodeOFF HIGH
#define digit1_cathodeON LOW
#define digit2_cathodeOFF HIGH
#define digit2_cathodeON LOW
#define digit3_cathodeOFF HIGH
#define digit3_cathodeON LOW
#define digit4_cathodeOFF HIGH
#define digit4_cathodeON LOW

#define Enable LOW
#define Disable HIGH

#define OutputPin 11
#define StartPin 10
#define EnablePin 9

#define clock 8
#define data 7
#define latch 6

#define digit1_cathode 5
#define digit2_cathode 4
#define digit3_cathode 3
#define digit4_cathode 2

#define delay_period 8

#define RPR1 10000
#define RPR2 100000
#define RPR3 1000000 // 1M
#define RPR4 10000000 // 10M
#define logn 0.693 // Ln(0,5) = 0,693

int Range = 30;

double Duree = 0; // Durée du monostable en Microsecondees

int EntierCx = 0;
int DecimaleCx = 0;

int centaine = 0;
int dizaine = 0;
int unite = 0;

int dizieme = 0;
int centieme = 0;

int myvar = 0;
int varx = 0;
int jx = 0;

byte digit8 = B00000000;
byte digit7 = B00000000;
byte digit6 = B00000000;
byte digit5 = B00000000;
byte digit4 = B00000000;
byte digit3 = B00000000;
byte digit2 = B00000000;
byte digit1 = B00000000;
byte digitx = B00000000;

int bytecoding7seg ( int x ) { ; // function pour coder les chiffres en BYTE 7SEGMENTS
int z=0;
byte localvar = B00000000;
z = x;
switch (z) {
case 0:
localvar = ZERO;
break;
case 1:
localvar = ONE;
break;
case 2:
localvar = TWO;
break;
case 3:
localvar = THREE;
break;
case 4:
localvar = FOUR;
break;
case 5:
localvar = FIVE;
break;
case 6:
localvar = SIX;
break;
case 7:
localvar = SEVEN;
break;
case 8:
localvar = EIGHT;
break;
case 9:
localvar = NINE;
break;
}
return localvar; // return the value
}

void setup () {
pinMode(digit1_cathode, OUTPUT);
pinMode(digit2_cathode, OUTPUT);
pinMode(digit3_cathode, OUTPUT);
pinMode(digit4_cathode, OUTPUT);
pinMode(EnablePin, OUTPUT);
pinMode (StartPin, OUTPUT) ;

pinMode (OutputPin, INPUT) ;

pinMode(clock, OUTPUT);
pinMode(latch, OUTPUT);
pinMode(data, OUTPUT);

analogReference(DEFAULT) ;

digitalWrite(digit1_cathode, digit1_cathodeOFF);
digitalWrite(digit2_cathode, digit2_cathodeOFF);
digitalWrite(digit3_cathode, digit3_cathodeOFF);
digitalWrite(digit4_cathode, digit4_cathodeOFF);

digitalWrite(EnablePin, Enable);

digitalWrite(StartPin, HIGH) ;
Duree = pulseIn(OutputPin, HIGH);

}
////////////boucle principale
void loop() {

}

Compiling with Arduiono IDE does not show error.

Then you don't have an Arduino problem.

See answer #3 above