VS2008 - Proyek Kedaluwarsa, tidak ada satu baris kode pun yang diubah

Saya mengalami masalah yang sangat aneh dengan Visual Studio 2008. Saya mencari di sini di SO untuk masalah serupa dengan dialog "Proyek Kedaluwarsa", tetapi masalahnya adalah mereka menggunakan file header yang sudah tidak digunakan lagi/tidak ada lagi, atau masalah mereka terjadi saat membangun solusi multi-proyek atau ada ketergantungan lain.

Proyek saya adalah aplikasi Konsol Win32, saya membuka File->Baru->Proyek...->Aplikasi Konsol Win32. Saya menggunakan pengaturan default (header yang telah dikompilasi dicentang), dan saya tidak mengubah satu baris kode pun dalam proyek, segera setelah proyek dibuat saya menekan tombol debug (walaupun saya mendapatkan masalah yang sama persis ketika saya mengatur membangun target untuk Rilis).

[utama.cpp]

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}

^ File sumber yang sangat standar, bukan? Ya, apa pun yang saya buat di proyek apa pun, VS2008 memberi tahu saya bahwa itu sudah ketinggalan zaman. Mengapa? Masalah ini mungkin tidak menghalangi saya untuk membangun proyek ini, tetapi saya sangat ingin semuanya beres dan tidak perlu melihat dialog ini lagi. Sekali lagi, saya melihat pertanyaan serupa, namun solusinya melibatkan menghilangkan beberapa ketergantungan tambahan atau semacamnya, tidak ada satupun yang berlaku untuk situasi saya.

Mengapa VS2008 mungkin memilih-milih template proyeknya sendiri?


person Brandon Miller    schedule 06.09.2012    source sumber
comment
Apa yang terjadi jika header yang telah dikompilasi tidak dicentang?   -  person Jesse Good    schedule 06.09.2012
comment
Tidak ada kok, hanya ingin memberikan info sebanyak-banyaknya. Satu-satunya artinya adalah header akan dikompilasi pada setiap build alih-alih dikompilasi sekali dalam file .pch, masih mendapatkan dialog yang sama   -  person Brandon Miller    schedule 06.09.2012
comment
Ya aku tau itu. Lihat di sini untuk mengetahui daftar panjang solusi (sebagian besar solusi tersebut juga dapat diterapkan pada vs2008). Baca juga BuildLog.htm Anda dan periksa peringatan, dll. yang akan memberi Anda petunjuk tentang apa masalahnya.   -  person Jesse Good    schedule 06.09.2012
comment
Ya, saya salah memahami maksud Anda, kesalahan saya karena menyiratkan bahwa Anda tidak tahu apa fungsi header yang telah dikompilasi sebelumnya lol. Dan memberi +1 untuk saran BuildLog Saya tidak berpikir untuk memeriksanya, tetapi saya sudah menghapus semua proyek pengujian yang memberi saya peringatan, akhirnya saya hanya mencentang Jangan tampilkan dialog ini lagi yang baru saja terpikir oleh saya bahwa itu adalah alasan saya tidak lagi mendapat peringatan telapak tangan (dikira sudah diperbaiki haha)   -  person Brandon Miller    schedule 06.09.2012


Jawaban (1)


Jika file sumber (termasuk file yang disertakan) entah bagaimana mendapat tanggal waktu di masa mendatang, maka kompiler akan menganggap file objek selalu kedaluwarsa.

person Steve Wellens    schedule 06.09.2012
comment
Maaf, tetapi saya tidak dapat mengetahui tanggal waktunya di masa mendatang, apakah menurut Anda masalah ini ada hubungannya dengan stempel waktu sebenarnya pada file? Saya dapat mengedit postingan saya untuk menampilkan semua file yang disertakan juga. - person Brandon Miller; 06.09.2012
comment
Maksudku, itu adalah sesuatu yang perlu diperiksa. Terkadang server tempat sistem kontrol sumber berada mungkin memiliki tanggal yang salah. Terkadang, itu adalah file pihak ketiga. Katakanlah tanggal waktu pada file sumber (file sumber Anda atau file header atau file lib yang disertakan, dll.) adalah tahun 2050 12:00. Ketika kompiler memutuskan apa yang akan dibangun, ia akan melihat file objek dan file exe/dll LEBIH TUA dari file sumber dan dibangun kembali. - person Steve Wellens; 06.09.2012
comment
Oh oke, saya mengerti maksud Anda. Meskipun saya tidak menggunakan sistem kontrol sumber dan dikatakan sudah ketinggalan zaman pada versi pertama dari proyek yang baru dibuat. Saya membuat beberapa solusi proyek pengujian yang berbeda, 3 solusi pertama memberi saya dialog yang sama, namun yang terakhir tidak. Ini aneh. Namun terima kasih telah menjelaskan hal ini karena menurut saya dialog tersebut berarti ada sesuatu dalam proyek yang tidak digunakan lagi, tetapi sekarang saya melihatnya ada hubungannya dengan stempel waktu, saya akan melanjutkan dan menerima ini sebagai jawaban, mengingat bagaimana saya sekarang memahami masalahnya lebih baik , dan untuk beberapa alasan aneh saya tidak memilikinya lagi :) - person Brandon Miller; 06.09.2012