Yah, saya belum pernah melakukannya di Windows, tetapi saya telah melakukannya di banyak lingkungan compile-link-rtl yang berfungsi sebagai nenek moyang praktis untuk itu. Yang Anda lakukan adalah membuat rintisan "target" terlebih dahulu tanpa referensi silang, lalu tautan, lalu tambahkan referensi melingkar, lalu tautkan kembali. Linker umumnya tidak peduli tentang referensi melingkar atau mengikuti rantai referensi, mereka hanya peduli tentang kemampuan menyelesaikan setiap referensi sendiri.
Jadi jika Anda memiliki dua pustaka, A dan B yang perlu mereferensikan satu sama lain, coba sesuatu seperti ini:
- Tautkan A tanpa referensi ke B.
- Tautkan B dengan referensi ke A.
- Link A, menambahkan referensi ke B.
Dykam membuat poin yang bagus, Ini dikompilasi, bukan menautkan di .Net, tetapi prinsipnya tetap sama: Buat sumber referensi silang Anda, dengan titik masuk yang diekspor, tetapi dengan semua kecuali satu dari mereka memiliki referensi sendiri ke yang lain yang dipotong di luar. Bangun mereka seperti itu. Kemudian, hapus potongan referensi eksternal dan buat kembali. Ini harus bekerja bahkan tanpa alat khusus, pada kenyataannya, pendekatan ini telah bekerja pada setiap sistem operasi yang pernah saya coba (sekitar 6 di antaranya). Meskipun jelas sesuatu yang mengotomatiskan itu akan sangat membantu.